# Oak Network ## Docs - [Refresh access token](https://docs.oaknetwork.org/api-reference/auth/refresh-access-token.md): Generate a new access token and refresh token using a valid refresh token. - [Request password reset](https://docs.oaknetwork.org/api-reference/auth/request-password-reset.md): Send a password reset link to the provided email address. - [Resend verification email](https://docs.oaknetwork.org/api-reference/auth/resend-verification-email.md): Resends the email verification link to the specified email address. - [Sign in](https://docs.oaknetwork.org/api-reference/auth/sign-in.md): Authenticate a user with email, password, and role. Returns JWT access and refresh tokens. - [Update password](https://docs.oaknetwork.org/api-reference/auth/update-password.md): Set a new password using a valid reset password token. - [User sign up](https://docs.oaknetwork.org/api-reference/auth/user-sign-up.md): Register a new user account with email and password. A verification email is sent upon successful registration. - [Validate access token](https://docs.oaknetwork.org/api-reference/auth/validate-access-token.md): Check whether an access token is valid and not expired. Token can be passed via x-access-token header or query parameter. - [Verify email address](https://docs.oaknetwork.org/api-reference/auth/verify-email-address.md): Verifies the user's email address using a token sent during signup. - [Verify password reset token](https://docs.oaknetwork.org/api-reference/auth/verify-password-reset-token.md): Check whether a password reset token is valid and not expired. - [Create a buy transaction](https://docs.oaknetwork.org/api-reference/buy-sell/create-a-buy-transaction.md): Initiate a cryptocurrency/asset buy transaction. Fields provider, currency, payment_method.type are case-insensitive. - [Create a customer](https://docs.oaknetwork.org/api-reference/customers/create-a-customer.md): Register a new customer. Fields document_type, country_code, and gender are case-insensitive (uppercased internally, returned lowercased). - [Get customer balances](https://docs.oaknetwork.org/api-reference/customers/get-customer-balances.md): Retrieve available and pending balances for a customer across providers. - [Get customer details](https://docs.oaknetwork.org/api-reference/customers/get-customer-details.md): Retrieve details for a specific customer. - [Get customer files](https://docs.oaknetwork.org/api-reference/customers/get-customer-files.md): Retrieve uploaded files for a customer with presigned download URLs. - [List all customers](https://docs.oaknetwork.org/api-reference/customers/list-all-customers.md): Retrieve a paginated list of customers for the authenticated merchant. Query parameters for filtering are case-insensitive (uppercased internally). - [Sync customer data](https://docs.oaknetwork.org/api-reference/customers/sync-customer-data.md): Trigger a sync of specified fields with an external provider. - [Update a customer](https://docs.oaknetwork.org/api-reference/customers/update-a-customer.md): Update customer details. All fields are optional. - [Upload customer files](https://docs.oaknetwork.org/api-reference/customers/upload-customer-files.md): Upload identity or address verification documents for a customer. - [Close a dispute](https://docs.oaknetwork.org/api-reference/disputes/close-a-dispute.md): Close the dispute by accepting the provider's outcome. Used when the merchant chooses not to contest (or to stop contesting). Once closed the dispute state is terminal — subsequent evidence uploads are no-ops. For the final funds-movement state, listen for the `payment.dispute.funds_withdrawn` or `p… - [List disputes](https://docs.oaknetwork.org/api-reference/disputes/list-disputes.md): Retrieve a paginated list of disputes for the merchant. - [Submit dispute for review](https://docs.oaknetwork.org/api-reference/disputes/submit-dispute-for-review.md): Mark the dispute as final and submit it to the provider for review. - [Upload dispute evidence](https://docs.oaknetwork.org/api-reference/disputes/upload-dispute-evidence.md): Upload file and/or text evidence for a dispute. At least one of file_evidences or text_evidences is required. - [Delete a file](https://docs.oaknetwork.org/api-reference/files/delete-a-file.md): Permanently delete a merchant-owned file, including its underlying object-storage artifact. Irreversible; pre-signed URLs previously generated against this file stop resolving once the object is removed. - [Get file details](https://docs.oaknetwork.org/api-reference/files/get-file-details.md): Retrieve details or download URL for a specific file. - [List files](https://docs.oaknetwork.org/api-reference/files/list-files.md): Retrieve a list of uploaded files for the merchant. - [Upload files](https://docs.oaknetwork.org/api-reference/files/upload-files.md): Upload one or more files for the merchant. Requests are `multipart/form-data`; size and MIME-type limits follow the server's upload configuration. - [Generic provider proxy call](https://docs.oaknetwork.org/api-reference/generic/generic-provider-proxy-call.md): Proxy a request to a specific payment provider's API. The endpoint and request body must be whitelisted in the merchant's configuration. - [Calculate transfer date](https://docs.oaknetwork.org/api-reference/merchants/calculate-transfer-date.md): Calculate the next available transfer date based on settlement date, region, and holiday configuration. - [Create a merchant account](https://docs.oaknetwork.org/api-reference/merchants/create-a-merchant-account.md): Create a new merchant with the provided business details. - [Create merchant API keys](https://docs.oaknetwork.org/api-reference/merchants/create-merchant-api-keys.md): Generate API key pair (public + secret) for a merchant. The secret key is only shown once. - [Grant merchant token](https://docs.oaknetwork.org/api-reference/merchants/grant-merchant-token.md): Authenticate using client credentials to obtain a Bearer token for API access. This is the primary authentication method for merchant API calls. - [Refresh merchant token](https://docs.oaknetwork.org/api-reference/merchants/refresh-merchant-token.md): Generate new access and refresh tokens using a valid refresh token. - [Add a payment method](https://docs.oaknetwork.org/api-reference/payment-methods/add-a-payment-method.md): Create a payment method for a customer. Fields type, provider, currency, chain, and bank_account_type are case-insensitive. - [Delete a payment method](https://docs.oaknetwork.org/api-reference/payment-methods/delete-a-payment-method.md): Delete a payment method from a customer. - [Get payment method details](https://docs.oaknetwork.org/api-reference/payment-methods/get-payment-method-details.md): Get details of a specific payment method. - [List payment methods](https://docs.oaknetwork.org/api-reference/payment-methods/list-payment-methods.md): List all payment methods for a customer. - [Update a payment method](https://docs.oaknetwork.org/api-reference/payment-methods/update-a-payment-method.md): Replace mutable fields on a saved payment method — typically customer-visible label, default-flag, or billing-address metadata. Provider-issued identifiers such as `card_token` and on-chain addresses are immutable; delete the payment method and re-create it to change those. - [Cancel a payment](https://docs.oaknetwork.org/api-reference/payments/cancel-a-payment.md): Cancel a payment that is in INITIATED status. Only PAYMENT type transactions can be cancelled; other transaction types will return an error. - [Capture a payment](https://docs.oaknetwork.org/api-reference/payments/capture-a-payment.md): Capture a previously authorized payment (for manual capture_method payments). - [Confirm a payment](https://docs.oaknetwork.org/api-reference/payments/confirm-a-payment.md): Confirm a previously created payment intent that was not auto-confirmed. - [Create a payment](https://docs.oaknetwork.org/api-reference/payments/create-a-payment.md): Create a payment intent with the provided details. Supports multiple payment providers (Stripe) and payment methods (Card). - [Refund a payment](https://docs.oaknetwork.org/api-reference/payments/refund-a-payment.md): Create a refund for a completed payment. Partial refunds are supported by specifying an amount less than the original. Total refund amount (including previous refunds) cannot exceed the original transaction amount. - [Create an outbound payment](https://docs.oaknetwork.org/api-reference/payouts/create-an-outbound-payment.md): Initiate a payout/outbound payment to a customer's payment method. - [Check provider registration status](https://docs.oaknetwork.org/api-reference/provider-registration/check-provider-registration-status.md): Check the KYC/provider registration status for a customer across platforms. Response fields provider, target_role, and status are returned lowercased. - [Get KYC schema](https://docs.oaknetwork.org/api-reference/provider-registration/get-kyc-schema.md): Retrieve the provider registration schema definition. - [Submit platform registration data](https://docs.oaknetwork.org/api-reference/provider-registration/submit-platform-registration-data.md): Submit KYC/provider registration data for a customer on a specific provider platform. - [Submit provider registration](https://docs.oaknetwork.org/api-reference/provider-registration/submit-provider-registration.md): Submit KYC/provider registration for a customer. The request body varies by provider. Fields provider and target_role are case-insensitive. - [Cancel a subscription](https://docs.oaknetwork.org/api-reference/subscriptions/cancel-a-subscription.md): Cancel an active subscription. Future billing cycles are skipped; already-captured payments are preserved and must be refunded separately via `POST /api/v1/payments/{id}/refund` if a refund is required. - [Create a subscription plan](https://docs.oaknetwork.org/api-reference/subscriptions/create-a-subscription-plan.md): Define a recurring-payment plan template. `price` must be between 100 and 10_000 and `currency` must be `USD`. Plans are not eligible for subscriptions until they are published via `PATCH /api/v1/subscription/plans/{planId}/publish`. - [Delete a plan](https://docs.oaknetwork.org/api-reference/subscriptions/delete-a-plan.md): Soft-delete a subscription plan. The record is retained so that existing subscribers continue through their current billing cycle with the plan's snapshotted terms; no new subscriptions can reference the plan after deletion. Hard removal requires ops intervention. - [Get plan details](https://docs.oaknetwork.org/api-reference/subscriptions/get-plan-details.md): Retrieve details of a specific subscription plan. - [Get subscription details](https://docs.oaknetwork.org/api-reference/subscriptions/get-subscription-details.md): Retrieve details of a specific subscription. - [Initiate subscription payment](https://docs.oaknetwork.org/api-reference/subscriptions/initiate-subscription-payment.md): Manually initiate a payment for a subscription. - [List subscription plans](https://docs.oaknetwork.org/api-reference/subscriptions/list-subscription-plans.md): Retrieve all subscription plans for the merchant. - [List subscriptions](https://docs.oaknetwork.org/api-reference/subscriptions/list-subscriptions.md): List subscriptions for a customer with pagination. - [Publish a plan](https://docs.oaknetwork.org/api-reference/subscriptions/publish-a-plan.md): Activate a plan so it can accept subscriptions. - [Subscribe to a plan](https://docs.oaknetwork.org/api-reference/subscriptions/subscribe-to-a-plan.md): Create a subscription for a customer to a plan. - [Update a plan](https://docs.oaknetwork.org/api-reference/subscriptions/update-a-plan.md): Update plan properties. All fields are optional. - [Health check](https://docs.oaknetwork.org/api-reference/system/health-check.md): Check API server health including database and message queue connectivity. - [List countries](https://docs.oaknetwork.org/api-reference/system/list-countries.md): Return the hardcoded list of countries currently eligible for KYC onboarding (mutual Stripe ∩ Bridge support — Stripe Connect card-payments capability + Bridge allowed). Each entry is tagged with a `kyc_supported` boolean (always `true` in the current response). The list is open — no authentication… - [Calculate taxes](https://docs.oaknetwork.org/api-reference/tax/calculate-taxes.md): Calculate applicable taxes for a transaction. Field provider is case-insensitive. - [Get transaction details](https://docs.oaknetwork.org/api-reference/transactions/get-transaction-details.md): Retrieve details of a single transaction. - [List transactions](https://docs.oaknetwork.org/api-reference/transactions/list-transactions.md): Retrieve a paginated list of transactions for the merchant. Query filter values are case-insensitive (uppercased internally). Response fields status, type, provider, currency, payment_method are returned lowercased. - [Settle a transaction](https://docs.oaknetwork.org/api-reference/transactions/settle-a-transaction.md): Mark a transaction as settled. Requires app-key authentication. - [Create a transfer](https://docs.oaknetwork.org/api-reference/transfers/create-a-transfer.md): Initiate a transfer between accounts. Supports single-provider and inter-platform transfers. Fields provider, currency, payment_method.type are case-insensitive. - [Send transfer webhook (dev)](https://docs.oaknetwork.org/api-reference/transfers/send-transfer-webhook-dev.md): Manually trigger a webhook for a transfer. Intended for development/testing. - [Create a wallet buy trade](https://docs.oaknetwork.org/api-reference/wallets/create-a-wallet-buy-trade.md): Initiate a buy trade through the wallet interface. - [Get trading wallet balance](https://docs.oaknetwork.org/api-reference/wallets/get-trading-wallet-balance.md): Retrieve the trading wallet balance for a customer. - [Buy awaiting confirmation](https://docs.oaknetwork.org/api-reference/webhook-events/buy-awaiting-confirmation.md): Buy awaiting confirmation. Emitted during a buy (fiat → stablecoin) flow. Payload is a `WebhookTransactionData` with `type: buy`; `data.source` is the fiat leg and `data.destination` is the crypto leg. `buy.awaiting_confirmation` is the intermediate state while waiting on on-chain confirmation. - [Buy completed](https://docs.oaknetwork.org/api-reference/webhook-events/buy-completed.md): Buy completed. Emitted during a buy (fiat → stablecoin) flow. Payload is a `WebhookTransactionData` with `type: buy`; `data.source` is the fiat leg and `data.destination` is the crypto leg. `buy.awaiting_confirmation` is the intermediate state while waiting on on-chain confirmation. - [Buy succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/buy-succeeded.md): Buy succeeded. Emitted during a buy (fiat → stablecoin) flow. Payload is a `WebhookTransactionData` with `type: buy`; `data.source` is the fiat leg and `data.destination` is the crypto leg. `buy.awaiting_confirmation` is the intermediate state while waiting on on-chain confirmation. - [Customer action required](https://docs.oaknetwork.org/api-reference/webhook-events/customer-action-required.md): Customer action required. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Customer created](https://docs.oaknetwork.org/api-reference/webhook-events/customer-created.md): Customer created. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Customer processing](https://docs.oaknetwork.org/api-reference/webhook-events/customer-processing.md): Customer processing. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Customer rejected](https://docs.oaknetwork.org/api-reference/webhook-events/customer-rejected.md): Customer rejected. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Customer sync failed](https://docs.oaknetwork.org/api-reference/webhook-events/customer-sync-failed.md): Customer sync failed. Emitted while a customer's profile is being synchronized to an upstream provider. `data.attempt_id` identifies a single sync attempt across started/succeeded/failed. Retries reuse the same `attempt_id`. - [Customer sync started](https://docs.oaknetwork.org/api-reference/webhook-events/customer-sync-started.md): Customer sync started. Emitted while a customer's profile is being synchronized to an upstream provider. `data.attempt_id` identifies a single sync attempt across started/succeeded/failed. Retries reuse the same `attempt_id`. - [Customer sync succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/customer-sync-succeeded.md): Customer sync succeeded. Emitted while a customer's profile is being synchronized to an upstream provider. `data.attempt_id` identifies a single sync attempt across started/succeeded/failed. Retries reuse the same `attempt_id`. - [Customer updated](https://docs.oaknetwork.org/api-reference/webhook-events/customer-updated.md): Customer updated. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Customer verified](https://docs.oaknetwork.org/api-reference/webhook-events/customer-verified.md): Customer verified. Emitted during the customer (subject) lifecycle. Payload carries the customer's current status. Use this to keep merchant-side customer records in sync. - [Dispute closed](https://docs.oaknetwork.org/api-reference/webhook-events/dispute-closed.md): Dispute closed. Emitted during the dispute sub-lifecycle of a disputed payment. Payload is the dispute record; `data.payment.id` links back to the disputed payment. - [Dispute funds reinstated](https://docs.oaknetwork.org/api-reference/webhook-events/dispute-funds-reinstated.md): Dispute funds reinstated. Emitted during the dispute sub-lifecycle of a disputed payment. Payload is the dispute record; `data.payment.id` links back to the disputed payment. - [Dispute funds withdrawn](https://docs.oaknetwork.org/api-reference/webhook-events/dispute-funds-withdrawn.md): Dispute funds withdrawn. Emitted during the dispute sub-lifecycle of a disputed payment. Payload is the dispute record; `data.payment.id` links back to the disputed payment. - [Dispute updated](https://docs.oaknetwork.org/api-reference/webhook-events/dispute-updated.md): Dispute updated. Emitted during the dispute sub-lifecycle of a disputed payment. Payload is the dispute record; `data.payment.id` links back to the disputed payment. - [External deposit awaiting confirmation](https://docs.oaknetwork.org/api-reference/webhook-events/external-deposit-awaiting-confirmation.md): External deposit awaiting confirmation. Emitted during the external-deposit lifecycle (funds arriving from outside CrowdSplit, e.g., a bank wire or on-chain transfer to a virtual account). Payload is a `WebhookTransactionData` with `type: external_deposit`; reconcile against bank or on-chain records… - [External deposit completed](https://docs.oaknetwork.org/api-reference/webhook-events/external-deposit-completed.md): External deposit completed. Emitted during the external-deposit lifecycle (funds arriving from outside CrowdSplit, e.g., a bank wire or on-chain transfer to a virtual account). Payload is a `WebhookTransactionData` with `type: external_deposit`; reconcile against bank or on-chain records. - [External deposit received](https://docs.oaknetwork.org/api-reference/webhook-events/external-deposit-received.md): External deposit received. Emitted during the external-deposit lifecycle (funds arriving from outside CrowdSplit, e.g., a bank wire or on-chain transfer to a virtual account). Payload is a `WebhookTransactionData` with `type: external_deposit`; reconcile against bank or on-chain records. - [External deposit succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/external-deposit-succeeded.md): External deposit succeeded. Emitted during the external-deposit lifecycle (funds arriving from outside CrowdSplit, e.g., a bank wire or on-chain transfer to a virtual account). Payload is a `WebhookTransactionData` with `type: external_deposit`; reconcile against bank or on-chain records. - [External virtual account funded](https://docs.oaknetwork.org/api-reference/webhook-events/external-virtual-account-funded.md): External virtual account funded. Emitted when a virtual account assigned to a customer receives a deposit from outside the CrowdSplit platform. Payload identifies the receiving customer and the funding amount. This does not by itself credit a wallet — use `external.deposit.*` events for the subseque… - [Installment payment failed](https://docs.oaknetwork.org/api-reference/webhook-events/installment-payment-failed.md): Installment payment failed. Emitted for a single installment of a multi-installment payment. The parent payment's `id` is carried in `data.id`, and the installment detail is in `data.installments`. Delivery is per-installment — expect one event per installment transition. - [Installment payment succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/installment-payment-succeeded.md): Installment payment succeeded. Emitted for a single installment of a multi-installment payment. The parent payment's `id` is carried in `data.id`, and the installment detail is in `data.installments`. Delivery is per-installment — expect one event per installment transition. - [Kyc action required](https://docs.oaknetwork.org/api-reference/webhook-events/kyc-action-required.md): KYC action required. Emitted for KYC decisions on a customer. Payload is a `WebhookProviderRegistrationData`; `data.readiness` indicates downstream capability (e.g., payout-ready). Required fields on `action_required` are in `data.failure_reason`. - [Kyc approved](https://docs.oaknetwork.org/api-reference/webhook-events/kyc-approved.md): KYC approved. Emitted for KYC decisions on a customer. Payload is a `WebhookProviderRegistrationData`; `data.readiness` indicates downstream capability (e.g., payout-ready). Required fields on `action_required` are in `data.failure_reason`. - [Kyc rejected](https://docs.oaknetwork.org/api-reference/webhook-events/kyc-rejected.md): KYC rejected. Emitted for KYC decisions on a customer. Payload is a `WebhookProviderRegistrationData`; `data.readiness` indicates downstream capability (e.g., payout-ready). Required fields on `action_required` are in `data.failure_reason`. - [Payment awaiting confirmation](https://docs.oaknetwork.org/api-reference/webhook-events/payment-awaiting-confirmation.md): Payment awaiting confirmation. Emitted when a payment transitions to the `payment.awaiting_confirmation` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment cancelled](https://docs.oaknetwork.org/api-reference/webhook-events/payment-cancelled.md): Payment cancelled. Emitted when a payment transitions to the `payment.cancelled` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment captured](https://docs.oaknetwork.org/api-reference/webhook-events/payment-captured.md): Payment captured. Emitted when a payment transitions to the `payment.captured` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment disputed](https://docs.oaknetwork.org/api-reference/webhook-events/payment-disputed.md): Payment disputed. Emitted when a cardholder or issuer opens a dispute against a previously successful payment. This is the first event in the dispute sub-lifecycle; subsequent updates arrive as `payment.dispute.*`. Gather evidence promptly — `evidence_due_by` in the payload is authoritative. - [Payment failed](https://docs.oaknetwork.org/api-reference/webhook-events/payment-failed.md): Payment failed. Emitted when a payment transitions to the `payment.failed` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment is processing](https://docs.oaknetwork.org/api-reference/webhook-events/payment-is-processing.md): Payment is processing. Emitted when a payment transitions to the `payment.processing` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment method approved](https://docs.oaknetwork.org/api-reference/webhook-events/payment-method-approved.md): Payment method approved. Emitted during the payment-method lifecycle on a customer (card, bank account, wallet). Payload is a `WebhookPaymentMethodData`; `data.type` narrows the shape of provider-specific fields. - [Payment method created](https://docs.oaknetwork.org/api-reference/webhook-events/payment-method-created.md): Payment method created. Emitted during the payment-method lifecycle on a customer (card, bank account, wallet). Payload is a `WebhookPaymentMethodData`; `data.type` narrows the shape of provider-specific fields. - [Payment method rejected](https://docs.oaknetwork.org/api-reference/webhook-events/payment-method-rejected.md): Payment method rejected. Emitted during the payment-method lifecycle on a customer (card, bank account, wallet). Payload is a `WebhookPaymentMethodData`; `data.type` narrows the shape of provider-specific fields. - [Payment method updated](https://docs.oaknetwork.org/api-reference/webhook-events/payment-method-updated.md): Payment method updated. Emitted during the payment-method lifecycle on a customer (card, bank account, wallet). Payload is a `WebhookPaymentMethodData`; `data.type` narrows the shape of provider-specific fields. - [Payment method verified](https://docs.oaknetwork.org/api-reference/webhook-events/payment-method-verified.md): Payment method verified. Emitted during the payment-method lifecycle on a customer (card, bank account, wallet). Payload is a `WebhookPaymentMethodData`; `data.type` narrows the shape of provider-specific fields. - [Payment refunded](https://docs.oaknetwork.org/api-reference/webhook-events/payment-refunded.md): Payment refunded. Emitted when a payment transitions to the `payment.refunded` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/payment-succeeded.md): Payment succeeded. Emitted when a payment transitions to the `payment.succeeded` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payment updated](https://docs.oaknetwork.org/api-reference/webhook-events/payment-updated.md): Payment updated. Emitted when a payment transitions to the `payment.updated` state in its lifecycle. Payload is the full `WebhookTransactionData` for the payment. Retries preserve `data.id`; deduplicate on `CrowdSplit-Notification-Id`. - [Payout succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/payout-succeeded.md): Payout succeeded. Emitted when an outbound payout to a customer-owned account succeeds at the upstream provider. Final state — no further events are expected for the payout. Payload is the payout's `WebhookTransactionData`. - [Provider registration action required](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-action-required.md): Provider registration action required. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration approved](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-approved.md): Provider registration approved. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration awaiting confirmation](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-awaiting-confirmation.md): Provider registration awaiting confirmation. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration documents uploaded](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-documents-uploaded.md): Provider registration documents uploaded. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration processing](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-processing.md): Provider registration processing. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration rejected](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-rejected.md): Provider registration rejected. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration restricted](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-restricted.md): Provider registration restricted. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration submitted](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-submitted.md): Provider registration submitted. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration updated](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-updated.md): Provider registration updated. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Provider registration verification expired](https://docs.oaknetwork.org/api-reference/webhook-events/provider-registration-verification-expired.md): Provider registration verification expired. Emitted during a customer's registration flow at an upstream provider. `data.provider` identifies the provider and `data.status` reflects the new state. Combined, `provider_registration.*` events represent the full onboarding lifecycle on each provider. - [Refund created](https://docs.oaknetwork.org/api-reference/webhook-events/refund-created.md): Refund created. Emitted during the refund sub-lifecycle of a payment. `data.id` is the refund transaction's UID; `data.reference_transaction_id` points to the original payment. Use this alongside the parent `payment.*` events to reconcile net settlement. - [Refund failed](https://docs.oaknetwork.org/api-reference/webhook-events/refund-failed.md): Refund failed. Emitted during the refund sub-lifecycle of a payment. `data.id` is the refund transaction's UID; `data.reference_transaction_id` points to the original payment. Use this alongside the parent `payment.*` events to reconcile net settlement. - [Refund failed standalone](https://docs.oaknetwork.org/api-reference/webhook-events/refund-failed-standalone.md): Refund failed (standalone). Emitted for standalone refunds not tied to a specific payment (e.g., manual refund operations). Payload is the refund's `WebhookTransactionData`. - [Refund succeeded standalone](https://docs.oaknetwork.org/api-reference/webhook-events/refund-succeeded-standalone.md): Refund succeeded (standalone). Emitted for standalone refunds not tied to a specific payment (e.g., manual refund operations). Payload is the refund's `WebhookTransactionData`. - [Refund updated](https://docs.oaknetwork.org/api-reference/webhook-events/refund-updated.md): Refund updated. Emitted during the refund sub-lifecycle of a payment. `data.id` is the refund transaction's UID; `data.reference_transaction_id` points to the original payment. Use this alongside the parent `payment.*` events to reconcile net settlement. - [Sell failed](https://docs.oaknetwork.org/api-reference/webhook-events/sell-failed.md): Sell failed. Emitted during a sell (stablecoin → fiat) flow. Payload is a `WebhookTransactionData` with `type: sell`. Use `data.provider_response` to access provider-specific status codes on failure. - [Sell succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/sell-succeeded.md): Sell succeeded. Emitted during a sell (stablecoin → fiat) flow. Payload is a `WebhookTransactionData` with `type: sell`. Use `data.provider_response` to access provider-specific status codes on failure. - [Transaction settlementcheckpoint updated](https://docs.oaknetwork.org/api-reference/webhook-events/transaction-settlementcheckpoint-updated.md): Transaction settlement/checkpoint updated. Emitted when a transaction's settlement or checkpoint state changes (typically during reconciliation). Carries the latest `WebhookTransactionData`; `status` reflects the new state. Retries share the same `CrowdSplit-Notification-Id`. - [Transaction updated](https://docs.oaknetwork.org/api-reference/webhook-events/transaction-updated.md): Transaction updated. Emitted when a transaction's top-level fields change outside a lifecycle-specific event (e.g., metadata updates). Payload is the current `WebhookTransactionData`. - [Transfer failed](https://docs.oaknetwork.org/api-reference/webhook-events/transfer-failed.md): Transfer failed. Emitted when an internal transfer (between CrowdSplit-managed wallets) completes or fails. Payload is a `WebhookTransactionData` with `type: transfer`. `data.source` and `data.destination` identify the legs. - [Transfer succeeded](https://docs.oaknetwork.org/api-reference/webhook-events/transfer-succeeded.md): Transfer succeeded. Emitted when an internal transfer (between CrowdSplit-managed wallets) completes or fails. Payload is a `WebhookTransactionData` with `type: transfer`. `data.source` and `data.destination` identify the legs. - [Delete a webhook](https://docs.oaknetwork.org/api-reference/webhooks/delete-a-webhook.md): Remove a registered webhook URL. New events for this merchant will no longer be dispatched to the deleted URL. Notifications already queued on the broker at the moment of deletion continue through their retry schedule until acknowledged or exhausted — the delete does not purge in-flight deliveries. - [Get webhook details](https://docs.oaknetwork.org/api-reference/webhooks/get-webhook-details.md): Get details of a specific webhook by ID. - [Get webhook notification details](https://docs.oaknetwork.org/api-reference/webhooks/get-webhook-notification-details.md): Get details of a specific webhook notification event. - [List webhook notifications](https://docs.oaknetwork.org/api-reference/webhooks/list-webhook-notifications.md): List all webhook notification events for the merchant with pagination. - [List webhooks](https://docs.oaknetwork.org/api-reference/webhooks/list-webhooks.md): List all registered webhooks for the authenticated merchant. - [Register a webhook](https://docs.oaknetwork.org/api-reference/webhooks/register-a-webhook.md): Register a new webhook endpoint for the merchant. Returns a signing secret for payload verification. - [Toggle webhook active status](https://docs.oaknetwork.org/api-reference/webhooks/toggle-webhook-active-status.md): Flip a registered webhook between active and inactive states without deleting it. Useful for planned merchant-side maintenance windows or temporarily silencing a noisy endpoint. Inactive webhooks receive no new dispatches; deliveries already queued before the toggle may still fire once before the st… - [Update a webhook](https://docs.oaknetwork.org/api-reference/webhooks/update-a-webhook.md): Update the URL or description of an existing webhook. - [Introducing Our 2026 Roadmap: Appstore, Catalyst, and Signet](https://docs.oaknetwork.org/blog/2026-roadmap-announcement.md): Three new products that will shape decentralized crowdfunding infrastructure in 2026. - [Oak Network Protocol Launches on Celo](https://docs.oaknetwork.org/blog/oak-network-protocol-launch.md): The Oak Network protocol is live on Celo, bringing decentralized crowdfunding infrastructure to any application. - [Blog](https://docs.oaknetwork.org/blog/overview.md) - [Security Audit Complete: Oak Network Ready for Mainnet](https://docs.oaknetwork.org/blog/security-audit-complete.md): Oak Network completes comprehensive security audits ahead of mainnet deployment on Celo. - [Campaign Management](https://docs.oaknetwork.org/concepts/campaigns.md) - [Oak Network: Our Open Source Philosophy & Partnership Framework](https://docs.oaknetwork.org/concepts/open-source-philosophy.md) - [Core Concepts](https://docs.oaknetwork.org/concepts/overview.md) - [Platform Integration](https://docs.oaknetwork.org/concepts/platforms.md) - [Security Concepts](https://docs.oaknetwork.org/concepts/security.md) - [Treasury Models](https://docs.oaknetwork.org/concepts/treasuries.md) - [AllOrNothing Treasury](https://docs.oaknetwork.org/contracts-sdk/all-or-nothing.md) - [CampaignInfo](https://docs.oaknetwork.org/contracts-sdk/campaign-info.md) - [CampaignInfoFactory](https://docs.oaknetwork.org/contracts-sdk/campaign-info-factory.md) - [Client Configuration](https://docs.oaknetwork.org/contracts-sdk/client.md) - [Error Handling](https://docs.oaknetwork.org/contracts-sdk/error-handling.md) - [Events](https://docs.oaknetwork.org/contracts-sdk/events.md) - [Advanced Patterns](https://docs.oaknetwork.org/contracts-sdk/examples/advanced-patterns.md) - [All-or-Nothing Campaign](https://docs.oaknetwork.org/contracts-sdk/examples/all-or-nothing-campaign.md) - [Error Handling](https://docs.oaknetwork.org/contracts-sdk/examples/error-handling.md) - [Event Monitoring](https://docs.oaknetwork.org/contracts-sdk/examples/event-monitoring.md) - [Keep-What's-Raised Campaign](https://docs.oaknetwork.org/contracts-sdk/examples/keep-whats-raised-campaign.md) - [Examples](https://docs.oaknetwork.org/contracts-sdk/examples/overview.md) - [Payment Treasury Flow](https://docs.oaknetwork.org/contracts-sdk/examples/payment-treasury-flow.md) - [Platform Enlistment](https://docs.oaknetwork.org/contracts-sdk/examples/platform-enlistment.md) - [GlobalParams](https://docs.oaknetwork.org/contracts-sdk/global-params.md) - [Installation](https://docs.oaknetwork.org/contracts-sdk/installation.md) - [ItemRegistry](https://docs.oaknetwork.org/contracts-sdk/item-registry.md) - [KeepWhatsRaised Treasury](https://docs.oaknetwork.org/contracts-sdk/keep-whats-raised.md) - [Metrics](https://docs.oaknetwork.org/contracts-sdk/metrics.md) - [Multicall](https://docs.oaknetwork.org/contracts-sdk/multicall.md) - [Contracts SDK](https://docs.oaknetwork.org/contracts-sdk/overview.md) - [PaymentTreasury](https://docs.oaknetwork.org/contracts-sdk/payment-treasury.md) - [Quickstart](https://docs.oaknetwork.org/contracts-sdk/quickstart.md) - [TreasuryFactory](https://docs.oaknetwork.org/contracts-sdk/treasury-factory.md) - [Crowdfunding Campaign — ArtFund](https://docs.oaknetwork.org/contracts-sdk/use-cases/crowdfunding.md) - [Healthcare Escrow — MedConnect](https://docs.oaknetwork.org/contracts-sdk/use-cases/escrow.md) - [Flexible Funding — TechForge](https://docs.oaknetwork.org/contracts-sdk/use-cases/flexible-funding.md) - [E-Commerce Marketplace — CeloMarket](https://docs.oaknetwork.org/contracts-sdk/use-cases/marketplace.md) - [Use Cases](https://docs.oaknetwork.org/contracts-sdk/use-cases/overview.md) - [Automotive Prepayment — Karma Automotive](https://docs.oaknetwork.org/contracts-sdk/use-cases/prepayment.md) - [Utilities](https://docs.oaknetwork.org/contracts-sdk/utilities.md) - [AdminAccessChecker](https://docs.oaknetwork.org/contracts/admin-access-checker.md) - [AllOrNothing](https://docs.oaknetwork.org/contracts/all-or-nothing.md) - [BaseTreasury](https://docs.oaknetwork.org/contracts/base-treasury.md) - [CampaignAccessChecker](https://docs.oaknetwork.org/contracts/campaign-access-checker.md) - [CampaignInfo](https://docs.oaknetwork.org/contracts/campaign-info.md) - [CampaignInfoFactory](https://docs.oaknetwork.org/contracts/campaign-info-factory.md) - [Contract Deployment](https://docs.oaknetwork.org/contracts/deployment.md) - [FiatEnabled](https://docs.oaknetwork.org/contracts/fiat-enabled.md) - [GlobalParams](https://docs.oaknetwork.org/contracts/global-params.md) - [Interfaces Overview](https://docs.oaknetwork.org/contracts/interfaces-overview.md) - [ItemRegistry](https://docs.oaknetwork.org/contracts/item-registry.md) - [Smart Contracts Overview](https://docs.oaknetwork.org/contracts/overview.md) - [PausableCancellable](https://docs.oaknetwork.org/contracts/pausable-cancellable.md) - [TimestampChecker](https://docs.oaknetwork.org/contracts/timestamp-checker.md) - [TreasuryFactory](https://docs.oaknetwork.org/contracts/treasury-factory.md) - [Create Your First Campaign](https://docs.oaknetwork.org/guides/create-campaign.md) - [Platform Integration](https://docs.oaknetwork.org/guides/platform-integration.md) - [Platform Journey: Why Choose Oak Network](https://docs.oaknetwork.org/guides/platform-journey.md) - [Platform SDK](https://docs.oaknetwork.org/guides/platform-sdk.md) - [Oak Network](https://docs.oaknetwork.org/index.md): Decentralized crowdfunding and commerce infrastructure on Celo. - [Devconnect Bounty Program](https://docs.oaknetwork.org/operations/bounty-program.md): Join Oak Network's invite-only bounty program to build the future of Creator infrastructure - [Deployment Guide](https://docs.oaknetwork.org/operations/deployment.md) - [Oak Network Roadmap](https://docs.oaknetwork.org/roadmap.md) - [Authentication](https://docs.oaknetwork.org/sdk/authentication.md) - [Buy and Sell](https://docs.oaknetwork.org/sdk/buy-and-sell.md) - [Customers](https://docs.oaknetwork.org/sdk/customers.md) - [Disputes](https://docs.oaknetwork.org/sdk/disputes.md) - [Environments](https://docs.oaknetwork.org/sdk/environments.md) - [Error Handling](https://docs.oaknetwork.org/sdk/error-handling.md) - [Files](https://docs.oaknetwork.org/sdk/files.md) - [Installation](https://docs.oaknetwork.org/sdk/installation.md) - [Payments SDK](https://docs.oaknetwork.org/sdk/overview.md) - [Payment Methods](https://docs.oaknetwork.org/sdk/payment-methods.md) - [Payments](https://docs.oaknetwork.org/sdk/payments.md) - [Payouts](https://docs.oaknetwork.org/sdk/payouts.md) - [Plans](https://docs.oaknetwork.org/sdk/plans.md) - [Providers](https://docs.oaknetwork.org/sdk/providers.md) - [Quickstart](https://docs.oaknetwork.org/sdk/quickstart.md) - [Refunds](https://docs.oaknetwork.org/sdk/refunds.md) - [Project Showcase](https://docs.oaknetwork.org/sdk/showcase.md) - [Subscriptions](https://docs.oaknetwork.org/sdk/subscriptions.md) - [Taxes](https://docs.oaknetwork.org/sdk/taxes.md) - [Transactions](https://docs.oaknetwork.org/sdk/transactions.md) - [Transfers](https://docs.oaknetwork.org/sdk/transfers.md) - [Webhooks](https://docs.oaknetwork.org/sdk/webhooks.md) - [Security Audits](https://docs.oaknetwork.org/security/audits.md) - [Security Best Practices](https://docs.oaknetwork.org/security/best-practices.md) - [Bug Bounty Program](https://docs.oaknetwork.org/security/bug-bounty.md) - [Security Checklist](https://docs.oaknetwork.org/security/checklist.md) - [Security Overview](https://docs.oaknetwork.org/security/overview.md) ## OpenAPI Specs - [crowdsplits](https://docs.oaknetwork.org/api-specs/v1/crowdsplits.yaml)