# Dakota ## Docs - [Create an account](https://docs.dakota.xyz/api-reference/accounts/create-an-account.md): Create a new onramp, offramp, or swap account. - [Delete an account](https://docs.dakota.xyz/api-reference/accounts/delete-an-account.md): Soft-deletes an auto account. The account must be owned by the requesting client. - [Get an account](https://docs.dakota.xyz/api-reference/accounts/get-an-account.md): Get details for an account by ID. - [List accounts](https://docs.dakota.xyz/api-reference/accounts/list-accounts.md): List onramp, offramp, or swap accounts filtered by account type. - [Update an account](https://docs.dakota.xyz/api-reference/accounts/update-an-account.md): Partially update an onramp, offramp, or swap account. - [Create a new API key](https://docs.dakota.xyz/api-reference/authentication/create-a-new-api-key.md): Generate a new API key - [Create an API key for a client (Admin only)](https://docs.dakota.xyz/api-reference/authentication/create-an-api-key-for-a-client-admin-only.md): Create an API key for a specified client. Requires admin access token. - [Delete all API keys](https://docs.dakota.xyz/api-reference/authentication/delete-all-api-keys.md): Delete all API keys (intended for incident response only) - [Delete an API key](https://docs.dakota.xyz/api-reference/authentication/delete-an-api-key.md): Delete an existing API key by ID - [List API keys](https://docs.dakota.xyz/api-reference/authentication/list-api-keys.md): Get a list of active API keys - [Get details of a specific auto account transaction](https://docs.dakota.xyz/api-reference/auto-transactions/get-details-of-a-specific-auto-account-transaction.md): Retrieves a single auto-transaction record by `auto_transaction_id` with execution details and status. - [List transactions that were created automatically by auto accounts](https://docs.dakota.xyz/api-reference/auto-transactions/list-transactions-that-were-created-automatically-by-auto-accounts.md): Returns a paginated list of transactions generated by auto-account rules with support for account, destination, status, provider, and network filters. - [Create a customer record](https://docs.dakota.xyz/api-reference/customers/create-a-customer-record.md): Creates a new customer for the authenticated client and returns the created customer record. - [Get sub-client summary](https://docs.dakota.xyz/api-reference/customers/get-sub-client-summary.md): Returns a list of all sub-clients for the authenticated client, along with the count of customers associated with each. - [List all customer records](https://docs.dakota.xyz/api-reference/customers/list-all-customer-records.md): Returns a paginated list of customers for the authenticated client. Supports cursor pagination and optional `external_id` or `search` filters. - [Retrieve a customer record by ID](https://docs.dakota.xyz/api-reference/customers/retrieve-a-customer-record-by-id.md): Retrieves a single customer by `customer_id` for the authenticated client. - [Update sub-client association for a customer](https://docs.dakota.xyz/api-reference/customers/update-sub-client-association-for-a-customer.md): Associates or disassociates a customer with a sub-client. Set `sub_client_id` to associate, or set it to `null` to disassociate. - [Errors](https://docs.dakota.xyz/api-reference/errors.md): HTTP status codes, error types, and RFC 9457 Problem Details responses - [List events](https://docs.dakota.xyz/api-reference/events/list-events.md): Returns a paginated event stream for the authenticated client for audit and operational troubleshooting. - [Get countries](https://docs.dakota.xyz/api-reference/info/get-countries.md): Returns an array of all recognized country codes (in ISO-3166-1 alpha-2 format). Inclusion in this list does NOT imply that the system is allowed by law or regulation to interact with a given country; only that the country code is recognized. - [Get supported blockchain networks](https://docs.dakota.xyz/api-reference/info/get-supported-blockchain-networks.md): Returns an array of all supported blockchain networks - [API Reference](https://docs.dakota.xyz/api-reference/introduction.md): Complete API reference for the Dakota Platform - [Add associated individual to business application](https://docs.dakota.xyz/api-reference/onboarding/add-associated-individual-to-business-application.md): Adds a new associated individual (UBO, control person, or applicant) to a business application. Can only be called when the application status is 'pending'. Each individual must have a unique first and last name combination within the application. - [Bulk import customers from Sumsub share tokens](https://docs.dakota.xyz/api-reference/onboarding/bulk-import-customers-from-sumsub-share-tokens.md): Processes multiple Sumsub share tokens in a single request. For each token, the system redeems it with Sumsub, extracts the applicant's name and identity data, creates a customer and individual application, and imports documents. Customer names are derived automatically from Sumsub data. - [Create an application document upload session](https://docs.dakota.xyz/api-reference/onboarding/create-an-application-document-upload-session.md): Creates a presigned upload session for application documents. Supported categories are business and EDD documents. Use the returned upload URL to upload file content directly to cloud storage, then create a verification resource for the upload. - [Create or update EDD record](https://docs.dakota.xyz/api-reference/onboarding/create-or-update-edd-record.md): Creates or updates the Enhanced Due Diligence (EDD) record for an application. This endpoint is idempotent and should be used when EDD is required for the application. - [Delete an onboarding document](https://docs.dakota.xyz/api-reference/onboarding/delete-an-onboarding-document.md): Deletes a document from a pending onboarding application. Only documents from applications in 'pending' status can be deleted. Deletes both the database record and the file from cloud storage. - [Download a document](https://docs.dakota.xyz/api-reference/onboarding/download-a-document.md): Downloads a document by streaming it through the API server. Returns the file with appropriate content type and disposition headers. - [Get an onboarding application](https://docs.dakota.xyz/api-reference/onboarding/get-an-onboarding-application.md): Retrieves a specific application. By default returns lightweight status metadata only. Use the `include` query parameter to request additional sections. - [Get EDD record for application](https://docs.dakota.xyz/api-reference/onboarding/get-edd-record-for-application.md): Retrieves the Enhanced Due Diligence (EDD) record for an application, including which documents are required and which are still missing. - [Get presigned URL for individual document upload](https://docs.dakota.xyz/api-reference/onboarding/get-presigned-url-for-individual-document-upload.md): Generates a presigned URL for uploading large individual documents directly to cloud storage. Supports identity documents and EDD documents. Use this endpoint for files larger than 10MB. After uploading to the presigned URL, call the verify endpoint to complete the upload process. - [List all documents for an application](https://docs.dakota.xyz/api-reference/onboarding/list-all-documents-for-an-application.md): Returns paginated metadata for documents associated with an application. Supports optional filtering by category and document type. - [List all onboarding applications](https://docs.dakota.xyz/api-reference/onboarding/list-all-onboarding-applications.md): Returns a paginated list of your onboarding applications for both businesses and individuals. Use the `type` parameter to filter by application type, and `status` to filter by application status. Supports cursor-based pagination using `starting_after`, `ending_before`, and `limit` parameters. - [Remove associated individual from business application](https://docs.dakota.xyz/api-reference/onboarding/remove-associated-individual-from-business-application.md): Removes an associated individual from a business application. Can only be called when the application status is 'pending'. At least one individual must remain on the application. - [Submit an application for verification](https://docs.dakota.xyz/api-reference/onboarding/submit-an-application-for-verification.md): Submits an application for verification. The application must be complete with all required information and documents before it can be submitted. If the application is not ready, returns detailed error information about what is missing. - [Submit an attestation for an application](https://docs.dakota.xyz/api-reference/onboarding/submit-an-attestation-for-an-application.md): Submits an attestation for an application. For business applications, the attestor must be a control person. For individual applications, the attestor must be the individual. The attestor name must exactly match the name on file. - [Update associated individual](https://docs.dakota.xyz/api-reference/onboarding/update-associated-individual.md): Updates an associated individual's information for a business application (UBO, control person, or applicant). Can only be called when the application status is 'pending'. - [Update business application details](https://docs.dakota.xyz/api-reference/onboarding/update-business-application-details.md): Updates a business application with company information including legal name, registration details, address, industry, and financial information. This endpoint is idempotent and can only be called when the application status is 'pending'. - [Update individual application details](https://docs.dakota.xyz/api-reference/onboarding/update-individual-application-details.md): Updates an individual application with personal information including name, date of birth, address, nationality, and identification details. This endpoint is idempotent and can only be called when the application status is 'pending'. - [Upload an application document](https://docs.dakota.xyz/api-reference/onboarding/upload-an-application-document.md): Uploads an application document using base64-encoded content. Supported categories are business and EDD documents. For files larger than 20MB, create a document upload session and upload directly to cloud storage. - [Upload an individual document](https://docs.dakota.xyz/api-reference/onboarding/upload-an-individual-document.md): Uploads a document for an individual using base64-encoded content. Supports identity documents (passport, driver's license, etc.) and EDD documents. For files larger than 10MB, use the presigned URL endpoint instead. - [Verify a document upload](https://docs.dakota.xyz/api-reference/onboarding/verify-a-document-upload.md): Verifies that a document was successfully uploaded to cloud storage using a presigned URL. Call this endpoint after uploading to the presigned URL to confirm the file exists and register it in the system. Use the upload_id returned from the presigned URL endpoint as the document_id. - [Add a new rule to a policy](https://docs.dakota.xyz/api-reference/policies/add-a-new-rule-to-a-policy.md): Creates a new rule under the specified policy. - [Attach policy to a wallet](https://docs.dakota.xyz/api-reference/policies/attach-policy-to-a-wallet.md): Attaches a policy to a wallet, creating or updating the relationship as needed. - [Create a new policy](https://docs.dakota.xyz/api-reference/policies/create-a-new-policy.md): Creates a new policy that can be attached to wallets for transaction governance. - [Delete a policy](https://docs.dakota.xyz/api-reference/policies/delete-a-policy.md): Deletes a policy by `policy_id`. Any required detachments from dependent resources must be completed first. - [Detach policy from a wallet](https://docs.dakota.xyz/api-reference/policies/detach-policy-from-a-wallet.md): Detaches a policy from a wallet. - [Get a specific policy](https://docs.dakota.xyz/api-reference/policies/get-a-specific-policy.md): Retrieves a single policy by `policy_id`. - [Get wallets attached to a policy](https://docs.dakota.xyz/api-reference/policies/get-wallets-attached-to-a-policy.md): Returns slim references (id + name + family) for the wallets the given policy is currently attached to. - [List all policies](https://docs.dakota.xyz/api-reference/policies/list-all-policies.md): Returns all policies configured for the authenticated client. - [Remove a rule from a policy](https://docs.dakota.xyz/api-reference/policies/remove-a-rule-from-a-policy.md): Deletes a policy rule from the specified policy. - [Update an existing rule](https://docs.dakota.xyz/api-reference/policies/update-an-existing-rule.md): Updates an existing policy rule identified by `rule_id`. - [Add a destination for a recipient](https://docs.dakota.xyz/api-reference/recipients/add-a-destination-for-a-recipient.md): Create a new destination for a recipient. The destination type (crypto, fiat_us, fiat_iban) is determined by the destination_type field in the request body. - [Create a new recipient](https://docs.dakota.xyz/api-reference/recipients/create-a-new-recipient.md): Create a new recipient for a given customer - [Delete a destination](https://docs.dakota.xyz/api-reference/recipients/delete-a-destination.md): Soft-deletes a destination. Blocked if the destination has any active auto accounts or non-terminal one-off transactions. - [Delete a recipient](https://docs.dakota.xyz/api-reference/recipients/delete-a-recipient.md): Soft-deletes a recipient and all of its destinations. Blocked if the recipient has any active auto accounts or non-terminal one-off transactions. - [Get a specific recipient](https://docs.dakota.xyz/api-reference/recipients/get-a-specific-recipient.md): Get details for a specific recipient by ID - [List all recipients](https://docs.dakota.xyz/api-reference/recipients/list-all-recipients.md): Get a list of all recipients for the given customer ID - [List destinations](https://docs.dakota.xyz/api-reference/recipients/list-destinations.md): Get a list of destinations for this recipient - [Update a recipient](https://docs.dakota.xyz/api-reference/recipients/update-a-recipient.md): Update a recipient's details - [Advance a paused simulation](https://docs.dakota.xyz/api-reference/sandbox/advance-a-paused-simulation.md): Unpauses a stateful sandbox simulation that is currently waiting at an intermediate state (awaiting_advance = true). Use this to drive compliance_hold, manual_review, and unconfirmed scenarios past their pause point. - [Get simulation status](https://docs.dakota.xyz/api-reference/sandbox/get-simulation-status.md): Returns the current state and callback delivery history for a sandbox simulation. Use this to debug async flows — see whether callbacks have been scheduled, delivered, or failed. Available in sandbox mode only. - [List available simulation scenarios](https://docs.dakota.xyz/api-reference/sandbox/list-available-simulation-scenarios.md): Returns the catalog of all scenarios that can be passed as the `scenario` field to `POST /sandbox/simulate/inbound`. Use this to discover valid scenario names and understand their behaviour without reading source code. - [Simulate an inbound payment event](https://docs.dakota.xyz/api-reference/sandbox/simulate-an-inbound-payment-event.md): Triggers a simulated payment event through the mock Lead Bank provider. Accepted immediately; callbacks are delivered asynchronously. Idempotent: repeated calls with the same simulation_id and identical parameters return the original response. Conflicting parameters return 409. - [Simulate an onboarding state transition](https://docs.dakota.xyz/api-reference/sandbox/simulate-an-onboarding-state-transition.md): Drives KYB, KYC, or applicant account status through a sandbox transition without waiting for real compliance review. Available in sandbox mode only. - [Create Stripe Checkout session for credit purchase](https://docs.dakota.xyz/api-reference/self-serve/create-stripe-checkout-session-for-credit-purchase.md): Creates a Stripe Checkout session for a valid prepaid credit tier for the authenticated self-serve client. - [Get prepaid credit balance](https://docs.dakota.xyz/api-reference/self-serve/get-prepaid-credit-balance.md): Returns the current prepaid credit balance for the authenticated self-serve client. - [Get the self-serve client's pricing config (fee schedule)](https://docs.dakota.xyz/api-reference/self-serve/get-the-self-serve-clients-pricing-config-fee-schedule.md): Returns the caller's `ClientPricingConfig`. Self-serve clients only (enterprise clients receive 403). Used by the dashboard's Fee Schedule card to render the active fee structure. - [List available credit purchase tiers](https://docs.dakota.xyz/api-reference/self-serve/list-available-credit-purchase-tiers.md): Returns the available prepaid credit tiers with transfer capacity calculated for the authenticated self-serve client. - [List prepaid credit ledger entries](https://docs.dakota.xyz/api-reference/self-serve/list-prepaid-credit-ledger-entries.md): Returns paginated credit ledger entries for the authenticated self-serve client. - [Add a signer to a signer group](https://docs.dakota.xyz/api-reference/signer-groups/add-a-signer-to-a-signer-group.md): Adds an existing signer to a signer group. - [Attach a signer group to a wallet](https://docs.dakota.xyz/api-reference/signer-groups/attach-a-signer-group-to-a-wallet.md): Attaches a signer group to a wallet, creating or updating the relationship as needed. - [Create a new signer](https://docs.dakota.xyz/api-reference/signer-groups/create-a-new-signer.md): Creates a signer resource that can be attached to signer groups. - [Create a new signer group](https://docs.dakota.xyz/api-reference/signer-groups/create-a-new-signer-group.md): Creates a signer group used for multi-party wallet authorization workflows. - [Delete a signer by public key](https://docs.dakota.xyz/api-reference/signer-groups/delete-a-signer-by-public-key.md): Soft-deletes all signers with the given public key. Returns `404` when no signer exists for the given public key and `409` when the signer is still a member of an active signer group. - [Detach a signer group from a wallet](https://docs.dakota.xyz/api-reference/signer-groups/detach-a-signer-group-from-a-wallet.md): Detaches a signer group from a wallet. - [Get a signer group by ID](https://docs.dakota.xyz/api-reference/signer-groups/get-a-signer-group-by-id.md): Retrieves a signer group by `signer_group_id`. - [Get signer groups attached to a wallet](https://docs.dakota.xyz/api-reference/signer-groups/get-signer-groups-attached-to-a-wallet.md): Returns signer groups currently attached to the specified wallet. - [Get signer groups for the authenticated client](https://docs.dakota.xyz/api-reference/signer-groups/get-signer-groups-for-the-authenticated-client.md): Returns signer groups configured for the authenticated client. - [Get wallets attached to a signer group](https://docs.dakota.xyz/api-reference/signer-groups/get-wallets-attached-to-a-signer-group.md): Returns slim references (id + name + family) for the wallets the given signer group is currently attached to. - [Remove a signer from a signer group](https://docs.dakota.xyz/api-reference/signer-groups/remove-a-signer-from-a-signer-group.md): Removes a signer association from a signer group. - [State Lifecycles](https://docs.dakota.xyz/api-reference/state-lifecycles.md): State transitions and lifecycle diagrams for Dakota API resources - [Cancel a transaction](https://docs.dakota.xyz/api-reference/transactions/cancel-a-transaction.md): Create a cancellation event for a cancellable transaction. - [Create a one-off transfer](https://docs.dakota.xyz/api-reference/transactions/create-a-one-off-transfer.md): Create a one-off transfer. Supports both offramp (destination is a bank account, fiat_us or fiat_iban) and swap (destination is a crypto address) flows; the destination type selects which. - [Get a transaction](https://docs.dakota.xyz/api-reference/transactions/get-a-transaction.md): Retrieves a single transaction by `transaction_id`, including lifecycle status and provider metadata when available. - [List transactions](https://docs.dakota.xyz/api-reference/transactions/list-transactions.md): List transactions across supported transaction resource families. - [Create a new user](https://docs.dakota.xyz/api-reference/users/create-a-new-user.md): Create a new user with the specified details - [Delete a user](https://docs.dakota.xyz/api-reference/users/delete-a-user.md): Delete an existing user - [List users](https://docs.dakota.xyz/api-reference/users/list-users.md): Get a list of all users - [Update a user](https://docs.dakota.xyz/api-reference/users/update-a-user.md): Update the name or role of an existing user - [Create a new wallet](https://docs.dakota.xyz/api-reference/wallets/create-a-new-wallet.md): Creates a wallet under a customer and returns the wallet configuration used for custody and transaction flows. - [Get a single wallet](https://docs.dakota.xyz/api-reference/wallets/get-a-single-wallet.md): Returns a single wallet by id. The response includes `customer_name` and `created_at` joined server-side. - [Get policies attached to a wallet](https://docs.dakota.xyz/api-reference/wallets/get-policies-attached-to-a-wallet.md): Returns slim references (id + name) for the policies currently attached to the specified wallet. - [Get wallet balances across all networks](https://docs.dakota.xyz/api-reference/wallets/get-wallet-balances-across-all-networks.md): Returns current wallet balances grouped by asset and network for the specified wallet. - [Send a transaction from a wallet](https://docs.dakota.xyz/api-reference/wallets/send-a-transaction-from-a-wallet.md): Creates a new outbound transaction from the specified wallet. Policy and signer checks may affect the resulting transaction state. - [Create a webhook target](https://docs.dakota.xyz/api-reference/webhooks/create-a-webhook-target.md): Create a new webhook target for receiving webhooks - [Delete a webhook target](https://docs.dakota.xyz/api-reference/webhooks/delete-a-webhook-target.md): Delete a webhook target - [Get a webhook delivery record](https://docs.dakota.xyz/api-reference/webhooks/get-a-webhook-delivery-record.md): Returns the delivery record for the specified event. If the event was delivered to multiple targets, the first target's record is returned. Use `GET /webhooks?event_type=...` to list all deliveries. - [Get a webhook target](https://docs.dakota.xyz/api-reference/webhooks/get-a-webhook-target.md): Retrieve details of a specific webhook target - [List webhook delivery history](https://docs.dakota.xyz/api-reference/webhooks/list-webhook-delivery-history.md): Returns a paginated list of outbound webhook delivery records for your organization, newest first. Records are retained for 30 days. The date range filter (`from`/`to`) is silently clamped to the 30-day window. - [List webhook targets](https://docs.dakota.xyz/api-reference/webhooks/list-webhook-targets.md): Retrieve all webhook targets - [Replay a webhook delivery](https://docs.dakota.xyz/api-reference/webhooks/replay-a-webhook-delivery.md): Re-queues the webhook for delivery to all configured targets for this org. Adds an `X-Webhook-Replay: true` header to the outbound request so your endpoint can distinguish replays from original deliveries. - [Update a webhook target](https://docs.dakota.xyz/api-reference/webhooks/update-a-webhook-target.md): Update event types for a specific webhook target - [Advanced Flows](https://docs.dakota.xyz/documentation/advanced-flows.md): Single-use payouts and swaps, international bank destinations, and other less common Dakota flows. - [API Keys & Headers](https://docs.dakota.xyz/documentation/authentication/api-keys-headers.md) - [Authentication](https://docs.dakota.xyz/documentation/authentication/index.md) - [Rate Limiting](https://docs.dakota.xyz/documentation/authentication/rate-limiting.md) - [Security](https://docs.dakota.xyz/documentation/authentication/security.md) - [Troubleshooting](https://docs.dakota.xyz/documentation/authentication/troubleshooting.md) - [Common Flows](https://docs.dakota.xyz/documentation/common-flows.md): One section per Dakota resource — customer, counterparty, onramp, offramp, swap, wallet. - [Create Your Flow](https://docs.dakota.xyz/documentation/create-your-flow.md) - [Customer Onboarding](https://docs.dakota.xyz/documentation/customer-onboarding.md) - [Destinations & Recipients](https://docs.dakota.xyz/documentation/destinations-recipients.md) - [MCP Server](https://docs.dakota.xyz/documentation/mcp-server.md): Connect AI clients like Claude and ChatGPT to Dakota Platform data via the Model Context Protocol. - [Policies](https://docs.dakota.xyz/documentation/policies.md): Wallet governance — what policies are, how rules work, and how policy evaluation decides whether a transaction is authorized. - [SDKs & Libraries](https://docs.dakota.xyz/documentation/sdks.md): Official Dakota SDKs — TypeScript (github.com/dakota-xyz/dakota-ts-sdk) and Go (github.com/dakota-xyz/go-sdk). - [Signing & Endorsed Requests](https://docs.dakota.xyz/documentation/signing-guide.md): How to sign intents, build endorsed requests, and manage signer group and policy lifecycles - [Sumsub Token Sharing](https://docs.dakota.xyz/documentation/sumsub-token-sharing.md): Reuse a customer's existing Sumsub verification to onboard them to Dakota without re-collecting identity data or documents. - [Terminology & Key Concepts](https://docs.dakota.xyz/documentation/terminology.md) - [Testing Your Integration](https://docs.dakota.xyz/documentation/testing.md) - [Try API Now](https://docs.dakota.xyz/documentation/try-it-now.md): Run every Dakota flow hands-on in the Interactive API Playground. - [Using LLMs](https://docs.dakota.xyz/documentation/using-llms.md) - [Wallet Transaction Signing](https://docs.dakota.xyz/documentation/wallet-signing.md): How to build, canonicalize, and sign wallet transaction intents — including the browser DER-encoding trap. - [Wallets](https://docs.dakota.xyz/documentation/wallets.md) - [Webhook Integration](https://docs.dakota.xyz/documentation/webhooks.md) - [Get Started](https://docs.dakota.xyz/index.md): Welcome to Dakota! ## OpenAPI Specs - [openapi](https://docs.dakota.xyz/openapi.yaml) ## Optional - [Support](https://support.dakota.xyz) - [Contact us](https://dakota.xyz/talk-to-sales)