# Documentation - [Welcome](/docs): Build payments the Easy way — for any language, any framework, any product. - **Products** - Payments - [Payments](/docs/payments): Accept one-time payments, embed checkout, manage payment instruments + disputes. - [Payments quickstart](/docs/payments/quickstart): From zero to your first payments call. - Concepts: Entity model + lifecycle for Payments. - [Payments concepts](/docs/payments/concepts): Entity model + lifecycle for Payments. - [Customer](/docs/payments/concepts/customer): The Customer entity in Payments. - [Payment Instrument](/docs/payments/concepts/payment-instrument): The Payment Instrument entity in Payments. - [Order](/docs/payments/concepts/order): The Order entity in Payments. - [Transfer](/docs/payments/concepts/transfer): The Transfer entity in Payments. - [Dispute](/docs/payments/concepts/dispute): The Dispute entity in Payments. - [Session](/docs/payments/concepts/session): The Session entity in Payments. - Guides: Task-oriented how-tos for Payments. - [Payments guides](/docs/payments/guides): Task-oriented how-tos for Payments. - [Accept a card payment](/docs/payments/guides/accept-card-payment): Charge a saved Payment Instrument server-to-server with @easylabs/node. - [Embed hosted checkout](/docs/payments/guides/embed-hosted-checkout): Drop the Easy Labs hosted checkout iframe into your own page. - [Build a custom checkout](/docs/payments/guides/build-custom-checkout): Drive the checkout lifecycle yourself when the embedded iframe isn't enough. - [Accept a wallet payment](/docs/payments/guides/accept-wallet-payment): Let buyers pay with a Solana wallet through the embedded checkout. - [Handle a dispute](/docs/payments/guides/handle-dispute): React to chargebacks, attach evidence, and reconcile outcomes. - [Issue a refund](/docs/payments/guides/issue-refund): Reverse a captured Transfer in part or in full. - Migration: Move from another provider to Easy Payments. - [Migrate to Easy Payments](/docs/payments/migration): Move from another provider to Easy Payments. - [Migrate from Stripe to Easy Payments](/docs/payments/migration/from-stripe): Mechanical mapping from Stripe's API to Easy Labs' Payments product. - [Payments compliance & scale](/docs/payments/compliance): Security, certifications, throughput, and reliability for Payments. - Billing - [Billing](/docs/billing): Run subscriptions, send invoices, configure dunning + a self-serve customer portal. - [Billing quickstart](/docs/billing/quickstart): From zero to your first billing call in 5 minutes. - Concepts: Entity model + lifecycle for Billing. - [Billing concepts](/docs/billing/concepts): Entity model + lifecycle for Billing. - [Subscription](/docs/billing/concepts/subscription): The Subscription entity in Billing. - [Product and Price](/docs/billing/concepts/product-and-price): The Product and Price entities in Billing. - [Invoice](/docs/billing/concepts/invoice): The Invoice entity in Billing. - [Coupon and Promotion Code](/docs/billing/concepts/coupon-and-promotion-code): The Coupon and Promotion Code entities in Billing. - [Dunning config](/docs/billing/concepts/dunning-config): The Dunning config entity in Billing. - [Customer portal](/docs/billing/concepts/customer-portal): The Customer portal entity in Billing. - Guides: Task-oriented how-tos for Billing. - [Billing guides](/docs/billing/guides): Task-oriented how-tos for Billing. - [Create a subscription](/docs/billing/guides/create-subscription): Start a recurring charge agreement against a saved payment instrument. - [Send an invoice](/docs/billing/guides/send-invoice): Issue an ad-hoc invoice and email it to a customer. - [Configure dunning](/docs/billing/guides/configure-dunning): Set retry policy, recovery emails, and terminal actions for failed payments. - [Launch the customer portal](/docs/billing/guides/launch-customer-portal): Email a magic link that drops a customer into their hosted billing portal. - [Apply a coupon](/docs/billing/guides/apply-coupon): Validate a customer-entered code and attach the resulting discount to a subscription. - [Meter usage](/docs/billing/guides/meter-usage): Report metered usage against a subscription item and reconcile it at the end of a period. - Migration: Move from another provider to Easy Billing. - [Migrate to Easy Billing](/docs/billing/migration): Move from another provider to Easy Billing. - [Migrate from Stripe to Easy Billing](/docs/billing/migration/from-stripe): Mechanical mapping from Stripe's Billing API to Easy Labs. - [Billing compliance & scale](/docs/billing/compliance): Security, certifications, throughput, and reliability for Billing. - Treasury - [Treasury](/docs/treasury): Send payouts to bank accounts, manage recipients, generate payout links + tax documents. - [Treasury quickstart](/docs/treasury/quickstart): From zero to your first payout in 5 minutes. - Concepts: Entity model + lifecycle for Treasury. - [Treasury concepts](/docs/treasury/concepts): Entity model + lifecycle for Treasury. - [Payout](/docs/treasury/concepts/payout): The Payout entity in Treasury. - [Recipient](/docs/treasury/concepts/recipient): The Recipient entity in Treasury. - [Bank account](/docs/treasury/concepts/bank-account): The Bank Account entity in Treasury. - [Settlement](/docs/treasury/concepts/settlement): The Settlement entity in Treasury. - [Tax document](/docs/treasury/concepts/tax-document): The Tax Document entity in Treasury. - Guides: Task-oriented how-tos for Treasury. - [Treasury guides](/docs/treasury/guides): Task-oriented how-tos for Treasury. - [Send a payout](/docs/treasury/guides/send-payout): Move money from your funding account to a recipient. - [Invite a recipient](/docs/treasury/guides/invite-recipient): Have a recipient enter their own banking through a one-time link. - [Generate a payout link](/docs/treasury/guides/generate-payout-link): Send a shareable link that lets someone claim a payout without a recipient record. - [Configure auto-transfers](/docs/treasury/guides/configure-auto-transfers): Move money between funding accounts automatically on a balance threshold or schedule. - [Request a W-9](/docs/treasury/guides/request-w9): Collect a recipient's tax info ahead of 1099 issuance. - [Treasury compliance & scale](/docs/treasury/compliance): Security, certifications, throughput, and reliability for Treasury. - **Build** - SDKs: Cross-product SDK reference for every language Easy Labs ships, plus the MCP server for AI agents. - [SDKs](/docs/sdks): Cross-product SDK reference for every language Easy Labs ships. - JavaScript - [JavaScript SDK](/docs/sdks/javascript): Easy Labs JavaScript SDK (@easylabs/browser) — installation, quickstart, and API reference. - [Installation](/docs/sdks/javascript/installation): Install @easylabs/browser and verify your setup. - [Quickstart](/docs/sdks/javascript/quickstart): Go from zero to a working JavaScript integration in five minutes. - [Client](/docs/sdks/javascript/client): The JavaScript client object — initialization and core methods. - [Elements](/docs/sdks/javascript/elements): Iframed card fields and tokenization for custom payment forms. - [Embedded Checkout](/docs/sdks/javascript/embedded-checkout): Drop-in hosted checkout iframe for JavaScript. - [Wallet Checkout](/docs/sdks/javascript/wallet-checkout): Apple Pay and Google Pay buttons for native wallet checkout. - Examples: Hands-on patterns for JavaScript. - [Vanilla JS integration](/docs/sdks/javascript/examples/vanilla): Use @easylabs/browser in a Vanilla JS project — guided tour of the example app. - [Payment Form](/docs/sdks/javascript/examples/payment-form): Custom payment form pattern for JavaScript using Elements and tokenize. - [Customer Management](/docs/sdks/javascript/examples/customer-management): Customer Management pattern for JavaScript. - React - [React SDK](/docs/sdks/react): Easy Labs React SDK (@easylabs/react) — installation, quickstart, and API reference. - [Installation](/docs/sdks/react/installation): Install @easylabs/react and verify your setup. - [Quickstart](/docs/sdks/react/quickstart): Go from zero to a working React integration in five minutes. - [EasyProvider](/docs/sdks/react/provider): Initialize the SDK with your publishable key and provide context to your tree. - [Elements](/docs/sdks/react/elements): Pre-built form elements for collecting payment information securely. - [Embedded Checkout](/docs/sdks/react/embedded-checkout): Drop-in hosted checkout iframe for React. - [Wallet Checkout](/docs/sdks/react/wallet-checkout): Apple Pay, Google Pay, and other wallet-native checkout flows. - [TypeScript](/docs/sdks/react/typescript): Type-level conventions and exported types in @easylabs/react. - Examples: Hands-on patterns for React. - [Vite SPA integration](/docs/sdks/react/examples/vite-spa): Use @easylabs/react in a Vite SPA project — guided tour of the example app. - [Next.js integration](/docs/sdks/react/examples/nextjs): Use @easylabs/react in a Next.js project — guided tour of the example app. - [Payment Form](/docs/sdks/react/examples/payment-form): Save a card or bank account against a customer in a single React form. - [Customer Management](/docs/sdks/react/examples/customer-management): Build a customer self-service area with the React SDK. - React Native - [React Native SDK](/docs/sdks/react-native): Easy Labs React Native SDK (@easylabs/react-native) — installation, quickstart, and API reference. - [Installation](/docs/sdks/react-native/installation): Install @easylabs/react-native and verify your setup. - [Quickstart](/docs/sdks/react-native/quickstart): Go from zero to a working React Native integration in five minutes. - [EasyProvider](/docs/sdks/react-native/provider): Initialize the SDK with your publishable key and provide context to your tree. - [Elements](/docs/sdks/react-native/elements): Native form elements for collecting card data securely on iOS and Android. - [Embedded Checkout](/docs/sdks/react-native/embedded-checkout): Why Embedded Checkout is web-only — and what to use on React Native instead. - [Wallet Checkout](/docs/sdks/react-native/wallet-checkout): Apple Pay (iOS) and Google Pay (Android) — the native checkout path on React Native. - [TypeScript](/docs/sdks/react-native/typescript): Type-level conventions and exported types in @easylabs/react-native. - Examples: Hands-on patterns for React Native. - [Expo integration](/docs/sdks/react-native/examples/expo): Use @easylabs/react-native in a Expo project — guided tour of the example app. - [Payment Form](/docs/sdks/react-native/examples/payment-form): Payment Form pattern for React Native. - [Customer Management](/docs/sdks/react-native/examples/customer-management): Customer Management pattern for React Native. - Node.js - [Node.js SDK](/docs/sdks/node): Easy Labs Node.js SDK (@easylabs/node) — installation, quickstart, and API reference. - [Installation](/docs/sdks/node/installation): Install @easylabs/node and verify your setup. - [Quickstart](/docs/sdks/node/quickstart): Go from zero to a working Node.js integration in five minutes. - [Authentication](/docs/sdks/node/authentication): How to authenticate requests from your server. - [Pagination](/docs/sdks/node/pagination): List endpoints, cursors, and auto-pagination helpers. - [Error handling](/docs/sdks/node/error-handling): Error classes, retry semantics, and idempotency. - [Webhooks](/docs/sdks/node/webhooks): Verify and consume webhooks from the Easy API. - [TypeScript](/docs/sdks/node/typescript): Type-level conventions and exported types in @easylabs/node. - Resources: API resources you can read, create, and update. - [Customers](/docs/sdks/node/resources/customers): Customers — methods, parameters, and examples for @easylabs/node. - [Payment Instruments](/docs/sdks/node/resources/payment-instruments): Payment Instruments — methods, parameters, and examples for @easylabs/node. - [Payment Links](/docs/sdks/node/resources/payment-links): Payment Links — methods, parameters, and examples for @easylabs/node. - [Transfers](/docs/sdks/node/resources/transfers): Transfers — methods, parameters, and examples for @easylabs/node. - [Refunds](/docs/sdks/node/resources/refunds): Refunds — methods, parameters, and examples for @easylabs/node. - [Orders](/docs/sdks/node/resources/orders): Orders — methods, parameters, and examples for @easylabs/node. - [Checkout](/docs/sdks/node/resources/checkout): Checkout — methods, parameters, and examples for @easylabs/node. - [Embedded Checkout](/docs/sdks/node/resources/embedded-checkout): Embedded Checkout — methods, parameters, and examples for @easylabs/node. - [Products & Pricing](/docs/sdks/node/resources/products-pricing): Products and prices — methods, parameters, and examples for @easylabs/node. - [Subscriptions](/docs/sdks/node/resources/subscriptions): Subscriptions — methods, parameters, and examples for @easylabs/node. - [Coupons](/docs/sdks/node/resources/coupons): Coupons — methods, parameters, and examples for @easylabs/node. - [Promotion Codes](/docs/sdks/node/resources/promotion-codes): Promotion Codes — methods, parameters, and examples for @easylabs/node. - [Invoices](/docs/sdks/node/resources/invoices): Invoices — methods, parameters, and examples for @easylabs/node. - [Dunning](/docs/sdks/node/resources/dunning): Dunning and revenue-recovery automation — methods, parameters, and examples for @easylabs/node. - [Treasury](/docs/sdks/node/resources/treasury): Treasury — methods, parameters, and examples for @easylabs/node. - [Settlements](/docs/sdks/node/resources/settlements): Settlements — methods, parameters, and examples for @easylabs/node. - [Disputes](/docs/sdks/node/resources/disputes): Disputes — methods, parameters, and examples for @easylabs/node. - [Authorizations](/docs/sdks/node/resources/authorizations): Authorizations — methods, parameters, and examples for @easylabs/node. - [Compliance Forms](/docs/sdks/node/resources/compliance-forms): Compliance Forms — methods, parameters, and examples for @easylabs/node. - [Webhook Endpoints](/docs/sdks/node/resources/webhook-endpoints): Webhook Endpoints — methods, parameters, and examples for @easylabs/node. - [Analytics](/docs/sdks/node/resources/analytics): Analytics — methods, parameters, and examples for @easylabs/node. - Examples: Recipes and integrations for Node.js. - [Fastify integration](/docs/sdks/node/examples/fastify): Use @easylabs/node in a Fastify project — guided tour of the example app. - [Next.js integration](/docs/sdks/node/examples/nextjs): Use @easylabs/node in a Next.js project — guided tour of the example app. - [E-commerce Flow](/docs/sdks/node/examples/ecommerce-flow): E-commerce Flow pattern for Node.js. - [Subscription System](/docs/sdks/node/examples/subscription-system): Subscription System pattern for Node.js. - [Refunds](/docs/sdks/node/examples/refunds): Refunds pattern for Node.js. - Ruby - [Ruby SDK](/docs/sdks/ruby): Easy Labs Ruby SDK (easy-sdk (gem)) — installation, quickstart, and API reference. - [Installation](/docs/sdks/ruby/installation): Install easy-sdk (gem) and verify your setup. - [Quickstart](/docs/sdks/ruby/quickstart): Go from zero to a working Ruby integration in five minutes. - [Authentication](/docs/sdks/ruby/authentication): How to authenticate requests from your server. - [Pagination](/docs/sdks/ruby/pagination): List endpoints, cursors, and auto-pagination helpers. - [Error handling](/docs/sdks/ruby/error-handling): Error classes, retry semantics, and idempotency. - [Webhooks](/docs/sdks/ruby/webhooks): Verify and consume webhooks from the Easy API. - Resources: API resources you can read, create, and update. - [Customers](/docs/sdks/ruby/resources/customers): Customers — methods, parameters, and examples for easy-sdk (gem). - [Payment Instruments](/docs/sdks/ruby/resources/payment-instruments): Payment Instruments — methods, parameters, and examples for easy-sdk (gem). - [Payment Links](/docs/sdks/ruby/resources/payment-links): Payment Links — methods, parameters, and examples for easy-sdk (gem). - [Transfers](/docs/sdks/ruby/resources/transfers): Transfers — methods, parameters, and examples for easy-sdk (gem). - [Refunds](/docs/sdks/ruby/resources/refunds): Refunds — methods, parameters, and examples for easy-sdk (gem). - [Orders](/docs/sdks/ruby/resources/orders): Orders — methods, parameters, and examples for easy-sdk (gem). - [Checkout](/docs/sdks/ruby/resources/checkout): Checkout — methods, parameters, and examples for easy-sdk (gem). - [Embedded Checkout](/docs/sdks/ruby/resources/embedded-checkout): Embedded Checkout — methods, parameters, and examples for easy-sdk (gem). - [Products Pricing](/docs/sdks/ruby/resources/products-pricing): Products Pricing — methods, parameters, and examples for easy-sdk (gem). - [Subscriptions](/docs/sdks/ruby/resources/subscriptions): Subscriptions — methods, parameters, and examples for easy-sdk (gem). - [Coupons](/docs/sdks/ruby/resources/coupons): Coupons — methods, parameters, and examples for easy-sdk (gem). - [Promotion Codes](/docs/sdks/ruby/resources/promotion-codes): Promotion Codes — methods, parameters, and examples for easy-sdk (gem). - [Invoices](/docs/sdks/ruby/resources/invoices): Invoices — methods, parameters, and examples for easy-sdk (gem). - [Dunning](/docs/sdks/ruby/resources/dunning): Dunning — methods, parameters, and examples for easy-sdk (gem). - [Treasury](/docs/sdks/ruby/resources/treasury): Treasury — methods, parameters, and examples for easy-sdk (gem). - [Settlements](/docs/sdks/ruby/resources/settlements): Settlements — methods, parameters, and examples for easy-sdk (gem). - [Disputes](/docs/sdks/ruby/resources/disputes): Disputes — methods, parameters, and examples for easy-sdk (gem). - [Authorizations](/docs/sdks/ruby/resources/authorizations): Authorizations — methods, parameters, and examples for easy-sdk (gem). - [Compliance Forms](/docs/sdks/ruby/resources/compliance-forms): Compliance Forms — methods, parameters, and examples for easy-sdk (gem). - [Webhook Endpoints](/docs/sdks/ruby/resources/webhook-endpoints): Webhook Endpoints — methods, parameters, and examples for easy-sdk (gem). - [Analytics](/docs/sdks/ruby/resources/analytics): Analytics — methods, parameters, and examples for easy-sdk (gem). - Examples: Recipes and integrations for Ruby. - [E-commerce Flow](/docs/sdks/ruby/examples/ecommerce-flow): E-commerce Flow pattern for Ruby. - [Subscription System](/docs/sdks/ruby/examples/subscription-system): Subscription System pattern for Ruby. - [Refunds](/docs/sdks/ruby/examples/refunds): Refunds pattern for Ruby. - Python - [Python SDK](/docs/sdks/python): Easy Labs Python SDK (easy-sdk (pip)) — installation, quickstart, and API reference. - [Installation](/docs/sdks/python/installation): Install easy-sdk (pip) and verify your setup. - [Quickstart](/docs/sdks/python/quickstart): Go from zero to a working Python integration in five minutes. - [Authentication](/docs/sdks/python/authentication): How to authenticate requests from your server. - [Pagination](/docs/sdks/python/pagination): List endpoints, cursors, and auto-pagination helpers. - [Error handling](/docs/sdks/python/error-handling): Error classes, retry semantics, and idempotency. - [Webhooks](/docs/sdks/python/webhooks): Verify and consume webhooks from the Easy API. - [Type hints](/docs/sdks/python/type-hints): Type-level conventions and exported types in easy-sdk (pip). - Resources: API resources you can read, create, and update. - [Customers](/docs/sdks/python/resources/customers): Customers — methods, parameters, and examples for easy-sdk (pip). - [Payment Instruments](/docs/sdks/python/resources/payment-instruments): Payment Instruments — methods, parameters, and examples for easy-sdk (pip). - [Payment Links](/docs/sdks/python/resources/payment-links): Payment Links — methods, parameters, and examples for easy-sdk (pip). - [Transfers](/docs/sdks/python/resources/transfers): Transfers — methods, parameters, and examples for easy-sdk (pip). - [Refunds](/docs/sdks/python/resources/refunds): Refunds — methods, parameters, and examples for easy-sdk (pip). - [Orders](/docs/sdks/python/resources/orders): Orders — methods, parameters, and examples for easy-sdk (pip). - [Checkout](/docs/sdks/python/resources/checkout): Checkout — methods, parameters, and examples for easy-sdk (pip). - [Embedded Checkout](/docs/sdks/python/resources/embedded-checkout): Embedded Checkout — methods, parameters, and examples for easy-sdk (pip). - [Products & pricing](/docs/sdks/python/resources/products-pricing): Products & pricing — methods, parameters, and examples for easy-sdk (pip). - [Subscriptions](/docs/sdks/python/resources/subscriptions): Subscriptions — methods, parameters, and examples for easy-sdk (pip). - [Coupons](/docs/sdks/python/resources/coupons): Coupons — methods, parameters, and examples for easy-sdk (pip). - [Promotion Codes](/docs/sdks/python/resources/promotion-codes): Promotion Codes — methods, parameters, and examples for easy-sdk (pip). - [Invoices](/docs/sdks/python/resources/invoices): Invoices — methods, parameters, and examples for easy-sdk (pip). - [Dunning](/docs/sdks/python/resources/dunning): Dunning — methods, parameters, and examples for easy-sdk (pip). - [Treasury](/docs/sdks/python/resources/treasury): Treasury — methods, parameters, and examples for easy-sdk (pip). - [Settlements](/docs/sdks/python/resources/settlements): Settlements — methods, parameters, and examples for easy-sdk (pip). - [Disputes](/docs/sdks/python/resources/disputes): Disputes — methods, parameters, and examples for easy-sdk (pip). - [Authorizations](/docs/sdks/python/resources/authorizations): Authorizations — methods, parameters, and examples for easy-sdk (pip). - [Compliance Forms](/docs/sdks/python/resources/compliance-forms): Compliance Forms — methods, parameters, and examples for easy-sdk (pip). - [Webhook Endpoints](/docs/sdks/python/resources/webhook-endpoints): Webhook Endpoints — methods, parameters, and examples for easy-sdk (pip). - [Analytics](/docs/sdks/python/resources/analytics): Analytics — methods, parameters, and examples for easy-sdk (pip). - Examples: Recipes and integrations for Python. - [E-commerce Flow](/docs/sdks/python/examples/ecommerce-flow): E-commerce Flow pattern for Python. - [Subscription System](/docs/sdks/python/examples/subscription-system): Subscription System pattern for Python. - [Refunds](/docs/sdks/python/examples/refunds): Refunds pattern for Python. - MCP Server: Easy Labs MCP server for AI agents. - [MCP Server](/docs/sdks/mcp): Give AI agents structured access to Easy Labs through the Model Context Protocol. - [MCP quickstart](/docs/sdks/mcp/quickstart): Connect Claude Desktop (or any MCP client) to Easy Labs in 60 seconds. - [MCP tools](/docs/sdks/mcp/tools): Read-only tools the MCP server exposes for AI agents. - [MCP resources](/docs/sdks/mcp/resources): Persistent context surfaces the MCP server exposes alongside its tools. - [MCP configuration](/docs/sdks/mcp/configuration): Environment variables, transports, and runtime options. - API: API operations, webhook events, and compliance reference. - [API](/docs/reference/api): The Easy HTTP API, organized by product. - Payments: One-time charges, checkout flows, payment instruments, disputes. - [Payments](/docs/reference/api/payments): One-time charges, checkout flows, payment instruments, disputes. - Authorization - [Create an authorization](/docs/reference/api/payments/authorization/create-authorizations): Create a Finix authorization (auth-only — no funds captured until /:id/capture). Body mirrors Finix's /authorizations payload. The merchant defaults to the API-key/JWT context but can be overridden for sub-merchant routing. - [Capture an authorization](/docs/reference/api/payments/authorization/create-capture): Capture a previously created authorization. Amount must be > 0 and cannot exceed the authorized amount. - [Void an authorization](/docs/reference/api/payments/authorization/create-void): Void a previously created authorization, releasing the held funds. - [Get an authorization by ID](/docs/reference/api/payments/authorization/get-authorization): Retrieve a single authorization by its ID. `expand=full` joins merchants + payment_instruments + identities. - [List authorizations](/docs/reference/api/payments/authorization/list-authorizations): Retrieve a list of authorizations for the merchant. `expand=full` joins merchants + payment_instruments + identities for the dashboard list view. - Checkout - [Create a checkout session](/docs/reference/api/payments/checkout/create-checkout): Create a new checkout session for payment collection - Checkout slug - [Get checkout slug](/docs/reference/api/payments/checkout-slug/list-checkout-slug): Returns the company's checkout slug and the branded URLs ({slug}.easy-checkout.link, {slug}.easy-payment.link, {slug}.easy-portal.link). - [Update checkout slug](/docs/reference/api/payments/checkout-slug/update-checkout-slug): Update the company's checkout slug. Must be lowercase alphanumeric with hyphens, 1-63 chars, cannot start/end with a hyphen, and must not be reserved. - Customer - [Create a new customer](/docs/reference/api/payments/customer/create-customer): Create a new customer - [Get a customer by ID](/docs/reference/api/payments/customer/get-customer): Retrieve a customer by their ID - [Get all payment instruments for a customer](/docs/reference/api/payments/customer/get-instrument): Retrieve a list of all payment instruments for a specific customer - [Get all orders for a customer](/docs/reference/api/payments/customer/get-order): Retrieve a list of all orders for a specific customer - [Get all subscriptions for a customer](/docs/reference/api/payments/customer/get-subscription): Retrieve a list of all subscriptions for a specific customer. This endpoint exposes legacy Finix subscription payload fields and is included for migration compatibility. - [Get all wallets for a customer](/docs/reference/api/payments/customer/get-wallet): Retrieve a list of all wallets for a specific customer - [Get all customers](/docs/reference/api/payments/customer/list-customer): Retrieve a list of customers (Finix identities) for the authenticated company. Filters: `role` (one of APPLICATION_OWNER, BENEFICIAL_OWNER, BUYER, PLATFORM_OWNER, RECIPIENT, SELLER, SENDER — values match the `finix_identity_role` DB enum); `include=instruments` (joins payment_instruments); `include_hidden=true` (returns identities tagged `hidden=true` — suppressed by default). - [Update a customer](/docs/reference/api/payments/customer/update-customer): Update a customer - Dispute - [Accept a dispute](/docs/reference/api/payments/dispute/create-accept): Accept liability for a dispute. Forwards to Finix POST /disputes/:id/accept. - [Upload dispute evidence](/docs/reference/api/payments/dispute/create-evidence): Upload one evidence file for a dispute. Multipart/form-data with a `file` field. Allowed types: jpeg, png, pdf. Max 1MB per file. Call once per file. - [Submit dispute evidence](/docs/reference/api/payments/dispute/create-submit): Submit previously uploaded evidence for review. Forwards to Finix POST /disputes/:id/submit. - [Get a dispute by ID](/docs/reference/api/payments/dispute/get-dispute): Retrieve a dispute by its ID. `expand=full` joins transfers + payment_instruments + identities + merchants. - [List dispute evidence files](/docs/reference/api/payments/dispute/get-evidence): Retrieve evidence files attached to a dispute (read from finix.files). - [Get disputes](/docs/reference/api/payments/dispute/list-disputes-2): Retrieve a list of disputes. `expand=full` joins transfers + payment_instruments + identities + merchants for the dashboard list view. - [Update dispute tags](/docs/reference/api/payments/dispute/update-disputes): Update the tags of a dispute - Embedded checkout - [Confirm payment for an embedded checkout session](/docs/reference/api/payments/embedded-checkout/create-confirm): Processes payment for an embedded checkout session. Called by the checkout iframe's server action with the client_secret and tokenized payment details. - [Create an embedded checkout session](/docs/reference/api/payments/embedded-checkout/create-embedded-checkout): Creates a new embedded checkout session. Returns a client_secret that the merchant passes to their frontend to render the checkout form in an iframe. - [Validate an embedded checkout session](/docs/reference/api/payments/embedded-checkout/create-validate): Validates a client_secret and returns session data needed to render the checkout form. No API key required — the client_secret serves as the auth token. - [Get crypto payment status for a checkout session](/docs/reference/api/payments/embedded-checkout/get-crypto-statu): Returns the crypto payment reference status for this session. No API key required — the session ID serves as identification. - [Retrieve an embedded checkout session](/docs/reference/api/payments/embedded-checkout/get-embedded-checkout): Retrieves the current status of an embedded checkout session. Use this after payment to verify the session completed. - [Get embedded checkout configuration](/docs/reference/api/payments/embedded-checkout/list-config): Retrieves the embedded checkout configuration for this company, including allowed origins. - [Update embedded checkout configuration](/docs/reference/api/payments/embedded-checkout/update-config): Updates the embedded checkout configuration for this company. Requires API key with WRITE_SETTINGS scope. - Order - [Get an order by ID](/docs/reference/api/payments/order/get-order-2): Retrieve an order by its ID - [Get orders](/docs/reference/api/payments/order/list-orders): Retrieve a list of orders - [Update order tags](/docs/reference/api/payments/order/update-orders): Update the tags of an order - Payment instrument - [Create a payment instrument (Basis Theory proxy)](/docs/reference/api/payments/payment-instrument/create-payment-instruments): Create a payment instrument from a Basis Theory token. Browser uses the BT SDK to tokenize a card, then sends `{tokenId, identityId, type, ...}` here. The route forwards through the BT proxy to Finix; raw PAN data never touches easy-api. - [Get a payment instrument by ID](/docs/reference/api/payments/payment-instrument/get-payment-instrument): Retrieve a single payment instrument's metadata. Scoped to the authenticated company via the identity → company_id chain. `include=identity` expands the joined identity row (default returns only `company_id` from the join). - [List payment instruments](/docs/reference/api/payments/payment-instrument/list-payment-instruments): List payment instruments scoped to the authenticated company. Optional filters: `identity_id` (single id), `type` (PAYMENT_CARD/BANK_ACCOUNT), `role` (filters via the joined identity's `identity_roles`; values match the `finix_identity_role` DB enum). `include=identity` expands the joined identity row (default: only `company_id` is returned). Reads from the local Finix mirror (no PAN data exposed). - [Update a payment instrument](/docs/reference/api/payments/payment-instrument/update-payment-instruments): Update editable fields (tags, address, etc.) on a payment instrument. - Payment link - [Create a payment link](/docs/reference/api/payments/payment-link/create-payment-link): Create a payment link - [Deactivate a payment link](/docs/reference/api/payments/payment-link/delete-payment-link): Soft-deletes a payment link by setting state=INACTIVE. To re-activate, call PATCH /:id with state=ACTIVE. - [Retrieve a payment link](/docs/reference/api/payments/payment-link/get-payment-link): Retrieve a single payment link by ID. Scoped to the authenticated company. - [List payments for a payment link](/docs/reference/api/payments/payment-link/get-payment): Retrieve the orders (payment attempts) that were created against this payment link. Includes purchase items per order. Scoped to the authenticated company. - [List payment links](/docs/reference/api/payments/payment-link/list-payment-link): Retrieve a paginated list of payment links scoped to the authenticated company. - [Update a payment link](/docs/reference/api/payments/payment-link/update-payment-link): Update editable fields on a payment link (nickname, state, expiration, etc.). Scoped to the authenticated company. - Sessions - [Create a session](/docs/reference/api/payments/sessions/create-sessions): Create a session - Transfer - [Create a refund (reversal)](/docs/reference/api/payments/transfer/create-reversals): Create a reversal (refund) for a succeeded transfer - [Create a transfer](/docs/reference/api/payments/transfer/create-transfer): Create a transfer - [Get a transfer by ID](/docs/reference/api/payments/transfer/get-transfer): Retrieve a transfer by its ID. `expand` accepts comma-separated keys: merchant, merchant_identity, instrument, parent. - [Get transfers](/docs/reference/api/payments/transfer/list-transfer): Retrieve a list of transfers. Filters: `type` (DEBIT/CREDIT/REVERSAL/FEE), `subtype`, `parent_transfer`, `source`, `merchant` (override scoping; must be company-owned). `scope=company` widens scoping from the auth context's primary merchant to all the company's merchants. `expand` accepts comma-separated keys: merchant, merchant_identity, instrument, parent. - [Update transfer tags](/docs/reference/api/payments/transfer/update-transfer): Update the tags of a transfer - Billing: Subscriptions, invoices, dunning, coupons, recurring revenue. - [Billing](/docs/reference/api/billing): Subscriptions, invoices, dunning, coupons, recurring revenue. - Auto pay - [Create auto-pay schedule for a recipient](/docs/reference/api/billing/auto-pay/create-auto-pay) - Coupons - [Create coupon](/docs/reference/api/billing/coupons/create-coupons) - [Delete coupon](/docs/reference/api/billing/coupons/delete-coupons) - [Get coupon](/docs/reference/api/billing/coupons/get-coupon) - [List coupons](/docs/reference/api/billing/coupons/list-coupons) - [Update coupon](/docs/reference/api/billing/coupons/update-coupons) - Customer portal - [Consume customer portal magic link](/docs/reference/api/billing/customer-portal/create-consume) - [Create a one-time handoff code for cross-domain session transfer](/docs/reference/api/billing/customer-portal/create-create) - [Exchange a handoff code for a session token (single use)](/docs/reference/api/billing/customer-portal/create-exchange) - [Create a payment method from an active customer portal session](/docs/reference/api/billing/customer-portal/create-payment-methods) - [Consume a revenue recovery link into a customer portal session](/docs/reference/api/billing/customer-portal/create-recovery) - [Request customer portal magic link](/docs/reference/api/billing/customer-portal/create-request-link) - [Sign out customer portal session](/docs/reference/api/billing/customer-portal/create-sign-out) - [Remove a payment method from an active customer portal session](/docs/reference/api/billing/customer-portal/delete-payment-methods) - [Get active customer portal session](/docs/reference/api/billing/customer-portal/list-me) - [Get public customer portal context](/docs/reference/api/billing/customer-portal/list-public) - [Update billing information from an active customer portal session](/docs/reference/api/billing/customer-portal/update-billing-information) - Customer portal config - [Get customer portal config](/docs/reference/api/billing/customer-portal-config/list-customer-portal-config) - [Patch customer portal config](/docs/reference/api/billing/customer-portal-config/update-customer-portal-config) - Invoices - [Create a new invoice](/docs/reference/api/billing/invoices/create-invoices-2): Create a new invoice with line items. Invoice number is auto-generated. - [Create a new invoice](/docs/reference/api/billing/invoices/create-invoices): Create a new invoice with line items. Invoice number is auto-generated. - [Pay an outstanding invoice](/docs/reference/api/billing/invoices/create-pay-2): Collect payment for an invoice with a Finix payment instrument. - [Pay an outstanding invoice](/docs/reference/api/billing/invoices/create-pay): Collect payment for an invoice with a Finix payment instrument. - [Send invoice reminder](/docs/reference/api/billing/invoices/create-remind-2): Send a payment reminder for SENT or OVERDUE invoices. - [Send invoice reminder](/docs/reference/api/billing/invoices/create-remind): Send a payment reminder for SENT or OVERDUE invoices. - [Send an invoice](/docs/reference/api/billing/invoices/create-send-3): Send or schedule a request-payment invoice email. - [Send an invoice](/docs/reference/api/billing/invoices/create-send): Send or schedule a request-payment invoice email. - [Void an invoice](/docs/reference/api/billing/invoices/create-void-2): Void an invoice. Cannot void paid invoices. - [Void an invoice](/docs/reference/api/billing/invoices/create-void-3): Void an invoice. Cannot void paid invoices. - [Get invoice by ID](/docs/reference/api/billing/invoices/get-invoice-3): Retrieve a single invoice with all line items. - [Get invoice by ID](/docs/reference/api/billing/invoices/get-invoice): Retrieve a single invoice with all line items. - [Get invoice data for PDF](/docs/reference/api/billing/invoices/get-pdf-2): Returns invoice data as JSON for client-side PDF generation. - [Get invoice data for PDF](/docs/reference/api/billing/invoices/get-pdf): Returns invoice data as JSON for client-side PDF generation. - [View invoice (public)](/docs/reference/api/billing/invoices/get-view-2): Public endpoint for recipients to view their invoice. Updates last_viewed_at. - [View invoice (public)](/docs/reference/api/billing/invoices/get-view): Public endpoint for recipients to view their invoice. Updates last_viewed_at. - [Download invoice PDF (public)](/docs/reference/api/billing/invoices/list-download-2): Public endpoint to download a generated invoice PDF. Returns a redirect to a signed URL. - [Download invoice PDF (public)](/docs/reference/api/billing/invoices/list-download): Public endpoint to download a generated invoice PDF. Returns a redirect to a signed URL. - [List invoices](/docs/reference/api/billing/invoices/list-invoices-2): Retrieve invoices with pagination and optional status/date filters. - [List invoices](/docs/reference/api/billing/invoices/list-invoices): Retrieve invoices with pagination and optional status/date filters. - [Update a draft invoice](/docs/reference/api/billing/invoices/update-invoices-2): Update an invoice. Only DRAFT invoices can be modified. - [Update a draft invoice](/docs/reference/api/billing/invoices/update-invoices): Update an invoice. Only DRAFT invoices can be modified. - Product - [Clone a product](/docs/reference/api/billing/product/create-clone): Duplicates a product (and its prices) into the same or another environment. Cross-environment cloning requires the API key to have access to the target environment. - [Create a new product price](/docs/reference/api/billing/product/create-product-prices): Create a new product price - [Create a new product](/docs/reference/api/billing/product/create-products): Create a new product - [Delete a product (soft-delete)](/docs/reference/api/billing/product/delete-products): Soft-deletes a product by setting `deleted_at` and `active=false`. Use PATCH /:id/restore to undo. - [Get a product price by ID](/docs/reference/api/billing/product/get-product-price): Retrieve a product price by its ID - [Get a product by ID](/docs/reference/api/billing/product/get-product): Retrieve a product by its ID. `include=prices` expands `prices` from id-only to full price rows. - [Get all product prices](/docs/reference/api/billing/product/list-product-prices): Retrieve a list of all product prices - [Get all products](/docs/reference/api/billing/product/list-products): Retrieve a list of products. `status` filters: `active` (active=true, deleted_at IS NULL), `archived` (deleted_at IS NOT NULL — products soft-archived via PATCH /:id/archive), `inactive` (active=false, deleted_at IS NULL — manual deactivation without archiving). `include=prices` expands `prices` from id-only to full price rows. - [Archive a product](/docs/reference/api/billing/product/update-archive-2): Archive a product by its ID - [Archive a product price](/docs/reference/api/billing/product/update-archive): Archive a product price by its ID - [Update a product price](/docs/reference/api/billing/product/update-product-prices): Update a product price by its ID - [Update a product](/docs/reference/api/billing/product/update-products): Update a product by its ID - [Restore an archived product](/docs/reference/api/billing/product/update-restore): Clears `deleted_at` on a soft-deleted product. The product remains inactive — call PATCH /:id with active=true to re-enable. - [Unarchive a product (atomic)](/docs/reference/api/billing/product/update-unarchive): Atomically clears `deleted_at` AND sets `active = true`. Use this instead of `PATCH /:id/restore` followed by `PATCH /:id` with `active: true` — separate calls leave a brief window where the product is restored-but-inactive. - Products - [Get product by product ID and price ID](/docs/reference/api/billing/products/get-price-2) - [Get all prices for a product](/docs/reference/api/billing/products/get-price): Retrieve all price variants for a specific product - Promotion codes - [Create promotion code](/docs/reference/api/billing/promotion-codes/create-promotion-codes) - [Validate promotion code](/docs/reference/api/billing/promotion-codes/create-validate-2) - [Delete promotion code](/docs/reference/api/billing/promotion-codes/delete-promotion-codes) - [Get promotion code](/docs/reference/api/billing/promotion-codes/get-promotion-code) - [List promotion codes](/docs/reference/api/billing/promotion-codes/list-promotion-codes) - [Update promotion code](/docs/reference/api/billing/promotion-codes/update-promotion-codes) - Recurring payments - [Create a recurring payment](/docs/reference/api/billing/recurring-payments/create-recurring-payments) - [Cancel a recurring payment](/docs/reference/api/billing/recurring-payments/delete-recurring-payments) - [Get a recurring payment by ID](/docs/reference/api/billing/recurring-payments/get-recurring-payment) - [List recurring payments](/docs/reference/api/billing/recurring-payments/list-recurring-payments) - [Update a recurring payment (pause, resume, cancel, edit)](/docs/reference/api/billing/recurring-payments/update-recurring-payments) - Subscription plan - [Create a subscription plan (legacy compatibility)](/docs/reference/api/billing/subscription-plan/create-subscription-plans): Legacy compatibility endpoint for legacy Finix plan APIs. New integrations should use product-first price creation (`/v1/api/product-prices`) plus subscription item setup. - [Get a subscription plan by ID (legacy compatibility)](/docs/reference/api/billing/subscription-plan/get-subscription-plan): Legacy compatibility endpoint for legacy Finix plan IDs. `include=prices` joins product_prices linked to the plan via finix_subscription_plan_id (dashboard catalog detail view). - [Get subscription plans (legacy compatibility)](/docs/reference/api/billing/subscription-plan/list-subscription-plans): Legacy compatibility endpoint for legacy Finix plan IDs. New integrations should rely on product/price-first endpoints for recurring setup. - [Update a subscription plan (legacy compatibility)](/docs/reference/api/billing/subscription-plan/update-subscription-plans): Legacy compatibility endpoint for legacy Finix plan records. For new flows, update price-level catalog data instead. - Subscriptions - [Apply discount to subscription](/docs/reference/api/billing/subscriptions/create-discounts): Apply a coupon or promotion code to the subscription or a specific subscription item. - [Create or replace revenue recovery config](/docs/reference/api/billing/subscriptions/create-dunning-config) - [Add item to subscription](/docs/reference/api/billing/subscriptions/create-items): Add a new price item to an existing subscription - [Create one-time charge for subscription](/docs/reference/api/billing/subscriptions/create-one-time-charges): Creates a one-time invoice line item for a subscription without altering recurring items. - [Pause a subscription](/docs/reference/api/billing/subscriptions/create-pause): Pause payment collection with behavior: void, keep_as_draft, or mark_uncollectible - [Resume a subscription](/docs/reference/api/billing/subscriptions/create-resume): Resume payment collection and process paused-period draft invoices when applicable - [Create revenue recovery automation](/docs/reference/api/billing/subscriptions/create-revenue-recovery-automations) - [Create or replace revenue recovery config](/docs/reference/api/billing/subscriptions/create-revenue-recovery-config) - [Create a subscription](/docs/reference/api/billing/subscriptions/create-subscriptions): Create a new Easy-native subscription. Requires a trial or instrument_id. - [Report metered usage](/docs/reference/api/billing/subscriptions/create-usage): Report usage for a metered subscription item. Supports increment and set actions with optional idempotency key. - [Remove subscription discount](/docs/reference/api/billing/subscriptions/delete-discounts): Remove a discount from a subscription. - [Remove subscription item](/docs/reference/api/billing/subscriptions/delete-items): Remove a line item from a subscription (cannot remove the last item) - [Delete revenue recovery automation](/docs/reference/api/billing/subscriptions/delete-revenue-recovery-automations) - [Cancel a subscription](/docs/reference/api/billing/subscriptions/delete-subscriptions): Cancel immediately (?at_period_end=false default) or at period end - [List subscription discounts](/docs/reference/api/billing/subscriptions/get-discount): List active discounts attached to a subscription. - [Preview proration for subscription updates](/docs/reference/api/billing/subscriptions/get-proration-preview): Preview proration impact for proposed item changes without applying updates. - [List revenue recovery automation runs](/docs/reference/api/billing/subscriptions/get-run) - [Get a subscription](/docs/reference/api/billing/subscriptions/get-subscription-2): Retrieve a subscription with expanded items and prices - [Get revenue recovery config](/docs/reference/api/billing/subscriptions/list-dunning-config) - [Reconcile usage billing for a period](/docs/reference/api/billing/subscriptions/list-reconciliation): Compare reported usage against billed totals and surface mismatch categories. - [List revenue recovery automations](/docs/reference/api/billing/subscriptions/list-revenue-recovery-automations) - [Get revenue recovery config](/docs/reference/api/billing/subscriptions/list-revenue-recovery-config) - [List subscriptions](/docs/reference/api/billing/subscriptions/list-subscriptions): List all subscriptions with optional filters - [Get usage summary](/docs/reference/api/billing/subscriptions/list-summary): Aggregate metered usage for the current billing period and return estimated amounts using the pricing engine. - [Patch revenue recovery config](/docs/reference/api/billing/subscriptions/update-dunning-config) - [Update subscription item quantity](/docs/reference/api/billing/subscriptions/update-items): Update the quantity of a subscription line item - [Update revenue recovery automation](/docs/reference/api/billing/subscriptions/update-revenue-recovery-automations) - [Patch revenue recovery config](/docs/reference/api/billing/subscriptions/update-revenue-recovery-config) - [Update a subscription](/docs/reference/api/billing/subscriptions/update-subscriptions): Update items, instrument, cancellation schedule, or metadata - Treasury: Money movement, settlements, recipients, tax documents. - [Treasury](/docs/reference/api/treasury): Money movement, settlements, recipients, tax documents. - Auto transfer rules - [Create an auto-transfer rule](/docs/reference/api/treasury/auto-transfer-rules/create-auto-transfer-rules) - [Delete an auto-transfer rule](/docs/reference/api/treasury/auto-transfer-rules/delete-auto-transfer-rules) - [List auto-transfer rules](/docs/reference/api/treasury/auto-transfer-rules/list-auto-transfer-rules) - [Update an auto-transfer rule](/docs/reference/api/treasury/auto-transfer-rules/update-auto-transfer-rules) - Bank accounts - [Link a bank account via Plaid](/docs/reference/api/treasury/bank-accounts/create-link): Exchanges a Plaid processor token for a Finix payment instrument and persists the linked bank account. Idempotent on finix_instrument_id — re-linking returns the existing record. - [Deactivate a linked bank account](/docs/reference/api/treasury/bank-accounts/delete-bank-accounts): Soft-deletes a linked bank account. Record is preserved for audit. Idempotent — deactivating an already-inactive account returns success. - [List linked bank accounts](/docs/reference/api/treasury/bank-accounts/list-bank-accounts): Returns all active bank accounts linked via Plaid, scoped to current environment and company. Supports pagination. - [Get a Plaid Link token](/docs/reference/api/treasury/bank-accounts/list-link-token): Returns a short-lived Plaid Link token for initializing the Plaid Link SDK. Must be used promptly. Requires write scope as it initiates the linking flow. - Payout link - [Generate a shareable payout link](/docs/reference/api/treasury/payout-link/create-generate) - [Submit banking details via payout link (public)](/docs/reference/api/treasury/payout-link/create-submit-2) - [Get payout link details (public)](/docs/reference/api/treasury/payout-link/get-payout-link) - [List payout links](/docs/reference/api/treasury/payout-link/list-payout-links) - Recipient plaid - [Exchange Plaid public token for recipient bank linking](/docs/reference/api/treasury/recipient-plaid/create-exchange-2) - [Get a Plaid Link token for recipient self-service](/docs/reference/api/treasury/recipient-plaid/create-link-token) - Settlement - [Get a settlement by ID](/docs/reference/api/treasury/settlement/get-settlement): Retrieve a settlement by its ID - [Get settlements](/docs/reference/api/treasury/settlement/list-settlements-2): Retrieve a list of settlements - [Close a settlement](/docs/reference/api/treasury/settlement/update-settlements): Close a settlement by its ID - Tax - [Calculate sales tax](/docs/reference/api/treasury/tax/create-calculate): Wave-1 ZIP-level tax calculation with nexus enforcement - Tax documents - [Send a W-9 request email to a recipient](/docs/reference/api/treasury/tax-documents/create-request-w9) - [Update tax information for a recipient](/docs/reference/api/treasury/tax-documents/create-tax-info) - [Get tax information for a recipient](/docs/reference/api/treasury/tax-documents/get-tax-info) - [Get tax compliance report for all recipients](/docs/reference/api/treasury/tax-documents/list-tax-report) - Treasury - [Accept recipient invitation (public)](/docs/reference/api/treasury/treasury/create-accept-invite): Public endpoint. Validates invitation token, accepts banking details submitted by the recipient, tokenizes account number via Basis Theory, and marks invitation as completed. - [Create an approval request for a gated transaction](/docs/reference/api/treasury/treasury/create-approval-requests) - [Create auto-pay schedule for a recipient](/docs/reference/api/treasury/treasury/create-auto-pay) - [Create an auto-transfer rule](/docs/reference/api/treasury/treasury/create-auto-transfer-rules) - [Pull funds from a linked bank account (ACH)](/docs/reference/api/treasury/treasury/create-bank-pull) - [Cancel a pending send operation](/docs/reference/api/treasury/treasury/create-cancel) - [Create a custom transaction category](/docs/reference/api/treasury/treasury/create-categories) - [Confirm a send operation (with optional 2FA code)](/docs/reference/api/treasury/treasury/create-confirm-2) - [Confirm an external transfer (with optional 2FA code)](/docs/reference/api/treasury/treasury/create-confirm-3) - [Confirm a withdrawal (with optional 2FA code)](/docs/reference/api/treasury/treasury/create-confirm-4) - [Exchange Plaid public token for recipient bank linking](/docs/reference/api/treasury/treasury/create-exchange-2) - [Generate a shareable payout link](/docs/reference/api/treasury/treasury/create-generate) - [Bulk import recipients from CSV](/docs/reference/api/treasury/treasury/create-import): Upload a CSV file with columns: name, email, bank_name, routing_number, account_number, account_type (checking/savings), notes. Each row is validated, account numbers are tokenized via Basis Theory, and duplicates are detected by email or routing+account number. Maximum 1000 rows per batch. Rows that fail tokenization are skipped (fail-closed). - [Send invitation email to a recipient](/docs/reference/api/treasury/treasury/create-invite): Sends a one-time invite email to the recipient so they can self-serve submit their banking details. Revokes any prior pending invitation for the same recipient. Token expires in 72 hours. - [Get a Plaid Link token for recipient self-service](/docs/reference/api/treasury/treasury/create-link-token) - [Link a bank account via Plaid](/docs/reference/api/treasury/treasury/create-link): Exchanges a Plaid processor token for a Finix payment instrument and persists the linked bank account. Idempotent on finix_instrument_id — re-linking returns the existing record. - [Add a payment method to a recipient](/docs/reference/api/treasury/treasury/create-payment-methods-2): Adds a bank account (ACH or wire) to an existing recipient. The account number is tokenized via Basis Theory before storage. - [Create a recipient with payment methods](/docs/reference/api/treasury/treasury/create-recipients) - [Create a recurring payment](/docs/reference/api/treasury/treasury/create-recurring-payments) - [Send a W-9 request email to a recipient](/docs/reference/api/treasury/treasury/create-request-w9) - [Approve or deny an approval request](/docs/reference/api/treasury/treasury/create-resolve) - [Create a security rule (budget, approval, time restriction)](/docs/reference/api/treasury/treasury/create-security-rules) - [Initiate a send money operation](/docs/reference/api/treasury/treasury/create-send-2) - [Submit banking details via payout link (public)](/docs/reference/api/treasury/treasury/create-submit-2) - [Update tax information for a recipient](/docs/reference/api/treasury/treasury/create-tax-info) - [Initiate a fund transfer (internal or external)](/docs/reference/api/treasury/treasury/create-transfer-2) - [Initiate a withdrawal to an external bank](/docs/reference/api/treasury/treasury/create-withdraw) - [Delete an auto-transfer rule](/docs/reference/api/treasury/treasury/delete-auto-transfer-rules) - [Deactivate a linked bank account](/docs/reference/api/treasury/treasury/delete-bank-accounts): Soft-deletes a linked bank account. Record is preserved for audit. Idempotent — deactivating an already-inactive account returns success. - [Delete a custom transaction category](/docs/reference/api/treasury/treasury/delete-categories) - [Delete a recipient](/docs/reference/api/treasury/treasury/delete-recipients) - [Cancel a recurring payment](/docs/reference/api/treasury/treasury/delete-recurring-payments) - [Delete a security rule](/docs/reference/api/treasury/treasury/delete-security-rules) - [Get payout link details (public)](/docs/reference/api/treasury/treasury/get-payout-link) - [Get a recipient by ID](/docs/reference/api/treasury/treasury/get-recipient) - [Get a recurring payment by ID](/docs/reference/api/treasury/treasury/get-recurring-payment) - [Get settlement/fees breakdown for a transaction](/docs/reference/api/treasury/treasury/get-settlement-2) - [Get tax information for a recipient](/docs/reference/api/treasury/treasury/get-tax-info) - [Get full transaction detail with settlement breakdown](/docs/reference/api/treasury/treasury/get-transaction) - [Get usage count for a category](/docs/reference/api/treasury/treasury/get-usage) - [List auto-transfer rules](/docs/reference/api/treasury/treasury/list-auto-transfer-rules) - [List linked bank accounts](/docs/reference/api/treasury/treasury/list-bank-accounts): Returns all active bank accounts linked via Plaid, scoped to current environment and company. Supports pagination. - [List transaction categories](/docs/reference/api/treasury/treasury/list-categories) - [Export transactions as CSV](/docs/reference/api/treasury/treasury/list-export): Download a CSV file of transactions matching the provided filters. Capped at 10,000 rows. - [List recipient invitations](/docs/reference/api/treasury/treasury/list-invitations): Returns all invitations sent by this company, with status and expiry. - [Get a Plaid Link token](/docs/reference/api/treasury/treasury/list-link-token): Returns a short-lived Plaid Link token for initializing the Plaid Link SDK. Must be used promptly. Requires write scope as it initiates the linking flow. - [List payout links](/docs/reference/api/treasury/treasury/list-payout-links) - [List recipients](/docs/reference/api/treasury/treasury/list-recipients) - [List recurring payments](/docs/reference/api/treasury/treasury/list-recurring-payments) - [List security rules](/docs/reference/api/treasury/treasury/list-security-rules) - [Get treasury dashboard summary](/docs/reference/api/treasury/treasury/list-summary-2): Returns current balance, last 10 transactions, and period summary (total in/out/net change). - [Get tax compliance report for all recipients](/docs/reference/api/treasury/treasury/list-tax-report) - [List treasury transactions with cursor-based pagination](/docs/reference/api/treasury/treasury/list-transactions-2): Returns paginated transactions with filters for type, status, date range, amount range, and keyword search. - [Get wire transfer instructions for an Easy account](/docs/reference/api/treasury/treasury/list-wire-instructions) - [Update an auto-transfer rule](/docs/reference/api/treasury/treasury/update-auto-transfer-rules) - [Update a recipient](/docs/reference/api/treasury/treasury/update-recipients) - [Update a recurring payment (pause, resume, cancel, edit)](/docs/reference/api/treasury/treasury/update-recurring-payments) - [Update a security rule](/docs/reference/api/treasury/treasury/update-security-rules) - [Update transaction metadata (category, receipt)](/docs/reference/api/treasury/treasury/update-transactions) - Account & operations: Account-level admin: branding, custom domains, files, webhooks, security rules. - [Account & operations](/docs/reference/api/account-and-operations): Account-level admin: branding, custom domains, files, webhooks, security rules. - Analytics - [Get dispute metrics](/docs/reference/api/account-and-operations/analytics/list-disputes): Retrieve dispute totals, state breakdown, and dispute rate - [Get revenue recovery analytics](/docs/reference/api/account-and-operations/analytics/list-revenue-recovery): Retrieve recovery metrics for failed payment retries - [Get revenue breakdown](/docs/reference/api/account-and-operations/analytics/list-revenue): Retrieve debit/credit/reversal totals and net for the last 30 days - [Get settlement summary](/docs/reference/api/account-and-operations/analytics/list-settlements): Retrieve monthly settlement net totals - [Get transaction volume analytics](/docs/reference/api/account-and-operations/analytics/list-transactions): Retrieve transaction volume and count by period - Branding - [Preview checkout branding](/docs/reference/api/account-and-operations/branding/create-checkout-2): Render a server-side HTML snapshot of the checkout surface with the provided (unsaved) branding applied. Pass the current draft branding from the editor. Result is cached for 60 seconds per unique payload. - [Preview email branding](/docs/reference/api/account-and-operations/branding/create-email): Render a server-side HTML snapshot of a transactional email with the provided branding. `email_type` controls which email template is shown: receipt | login | invoice (default). - [Preview invoice branding](/docs/reference/api/account-and-operations/branding/create-invoice): Render a server-side HTML snapshot of the invoice surface. `format` controls whether a payment CTA button is included. Result is cached for 60 seconds per unique payload. - [Preview customer portal branding](/docs/reference/api/account-and-operations/branding/create-portal): Render a server-side HTML snapshot of the customer portal with the provided branding. Supports light / dark / auto themes via `branding.customer_portal.theme`. - [Reset branding to Easy defaults](/docs/reference/api/account-and-operations/branding/create-reset-to-defaults): Clears all custom branding for the company (sets companies.branding = NULL). The GET endpoint will return EASY_DEFAULTS after this call. A full-clear entry is written to the audit log. - [Reset branding to Easy defaults (deprecated alias)](/docs/reference/api/account-and-operations/branding/create-reset): @deprecated — use POST /api/auth/branding/reset-to-defaults instead. This alias exists for backward compatibility with FE consumers that call /reset. Behaviour is identical to /reset-to-defaults. - [Send a branding test email](/docs/reference/api/account-and-operations/branding/create-test): Send a live test email using the company's saved branding settings. The email is rendered with the currently persisted branding (not a draft). Save changes with PATCH /branding before calling this. `email_type` selects the template: receipt | login | invoice (default). Limited to 3 requests per minute per user. - [Validate branding color or logo URL](/docs/reference/api/account-and-operations/branding/create-validate-3): Validate one or more branding inputs without saving anything. Pass `color` to confirm a hex color is valid. Pass `foreground_color` + `background_color` together to get a WCAG contrast ratio. Pass `logo_url` to verify the URL is reachable and returns an image MIME type. At least one field is required. - [Register custom email sending domain](/docs/reference/api/account-and-operations/branding/create-verify-domain): Register or replace the custom email sending domain for this company. Returns SPF and DKIM DNS records to add. After adding DNS records, use GET to poll verification status. Limited to 5 requests per minute to prevent domain-change spam. - [Clear invoice branding override](/docs/reference/api/account-and-operations/branding/delete-invoice): Remove all branding overrides for an invoice. After this call, the invoice renders with pure company branding. Returns effective branding (= company branding merged with EASY_DEFAULTS). - [Clear payment link branding override](/docs/reference/api/account-and-operations/branding/delete-payment-link-2): Remove all branding overrides for a payment link. After this call, the link renders with pure company branding (no resource-level overrides). Returns effective branding (= company branding merged with EASY_DEFAULTS). - [Get invoice branding override](/docs/reference/api/account-and-operations/branding/get-invoice-2): Returns the effective branding for an invoice using the precedence chain: per-resource override → company branding → EASY_DEFAULTS. `override` is the raw stored override (null if none). `has_override` is true if any override fields are stored. - [Get payment link branding override](/docs/reference/api/account-and-operations/branding/get-payment-link-2): Returns the effective branding for a payment link using the precedence chain: per-resource override → company branding → EASY_DEFAULTS. `override` is the raw stored override (null if none). `has_override` is true if any override fields are stored. - [Get branding audit log](/docs/reference/api/account-and-operations/branding/list-audit): Returns the last 100 branding change events for this company. Each entry includes the changed_by user, changed_at timestamp, and a field-path diff of what changed. - [Get company branding](/docs/reference/api/account-and-operations/branding/list-branding): Retrieve the current branding configuration for the authenticated user's company. Always returns fully merged result (EASY_DEFAULTS applied for missing fields). `is_custom: false` means the company has not set any branding yet. - [List available fonts](/docs/reference/api/account-and-operations/branding/list-list): Returns the list of fonts available for branding customization. Each entry includes the font id (used in API), display name, and Google Fonts URL (null for system/native fonts). - [Get domain verification status](/docs/reference/api/account-and-operations/branding/list-verify-domain): Returns the current email domain verification record for this company. Poll this endpoint after adding DNS records to check if verification has succeeded. Status values: pending | verified | failed. - [Update company branding](/docs/reference/api/account-and-operations/branding/update-branding): Partially update branding for the authenticated user's company. Only provided fields are overwritten. Surface objects (checkout, email, etc.) are field-level merged — you can pass `{ checkout: { button_color: '#...' } }` without affecting other checkout fields. Changes are written to the audit log automatically. - [Update invoice branding override](/docs/reference/api/account-and-operations/branding/update-invoice): Partially update the branding override for an invoice. Merges with existing override at field level. Override fields take precedence over company branding. Returns effective branding after update. Alias support (BRD-002b): `company_name_override` → `company_name`, `company_address_override` → `company_address`. - [Update payment link branding override](/docs/reference/api/account-and-operations/branding/update-payment-link-2): Partially update the branding override for a payment link. Merges with existing override at field level (same semantics as PATCH /branding). Override fields take precedence over company branding. Returns effective branding after update. Alias: `brand_color` → `primary_color` (legacy SDK compatibility). - Categories - [Create a custom transaction category](/docs/reference/api/account-and-operations/categories/create-categories) - [Delete a custom transaction category](/docs/reference/api/account-and-operations/categories/delete-categories) - [Get usage count for a category](/docs/reference/api/account-and-operations/categories/get-usage) - [List transaction categories](/docs/reference/api/account-and-operations/categories/list-categories) - Comm prefs - [Get communication preferences](/docs/reference/api/account-and-operations/comm-prefs/list-comm-prefs): Fetch the authenticated user's communication preferences. Response includes current channel values and per-channel policy (locked/lock_reason). Locked channels are forced-on for owner/super-admin roles and cannot be disabled. - [Update communication preferences](/docs/reference/api/account-and-operations/comm-prefs/update-comm-prefs): Partially update communication preferences. Only provided fields are changed. Writes to locked channels return 403 LOCKED_CHANNEL_WRITE. Returns updated values + policy matrix. - Companies - [Create a new company](/docs/reference/api/account-and-operations/companies/create-companies): This endpoint allows users to create a new company by providing the necessary details in the request body. The request must adhere to the CompaniesPostBody schema. The response includes success or error details based on the request validity and authentication status. - [Complete onboarding](/docs/reference/api/account-and-operations/companies/create-onboarding-complete-2): Complete onboarding - [Ensure company accounts are fully provisioned](/docs/reference/api/account-and-operations/companies/list-ensure-provisioned) - Custom domains dashboard - [Add a custom domain (dashboard)](/docs/reference/api/account-and-operations/custom-domains-dashboard/create-custom-domains) - [Verify custom domain (dashboard)](/docs/reference/api/account-and-operations/custom-domains-dashboard/create-verify) - [Delete custom domain (dashboard)](/docs/reference/api/account-and-operations/custom-domains-dashboard/delete-custom-domains) - [List custom domains (dashboard)](/docs/reference/api/account-and-operations/custom-domains-dashboard/list-custom-domains) - Dashboard - [Get dashboard home stats (JWT-only)](/docs/reference/api/account-and-operations/dashboard/list-dashboard-stats): Wraps the `get_merchant_dashboard_data` Postgres RPC for the dashboard home view. Coin (`value_type`) is selected server-side based on the active environment. **JWT-only**: this endpoint resolves the company via the Postgres `auth.uid()` session variable, which is only populated when the caller's Bearer token is forwarded to Supabase. API-key authentication therefore returns 403. - Files - [Upload file content](/docs/reference/api/account-and-operations/files/create-upload): Upload binary content to a pre-existing file record. The file must already exist (Finix or webhook creates these). Multipart/form-data with a `file` field. Allowed types: jpeg, png, pdf. Max 5MB. - [Get a file by ID](/docs/reference/api/account-and-operations/files/get-file): Retrieve a file's metadata. Scoped to the authenticated merchant via ownership of the linked resource. - [List merchant files](/docs/reference/api/account-and-operations/files/list-files): List files attached to the authenticated merchant from the local Finix mirror. - Login sessions - [Revoke a specific login session](/docs/reference/api/account-and-operations/login-sessions/delete-login-sessions-2): Revoke a single session by ID. Cannot revoke the current session (returns 403). The revoked session is also signed out via Supabase Admin API (best-effort). - [Sign out all other sessions](/docs/reference/api/account-and-operations/login-sessions/delete-login-sessions): Revokes all login sessions except the current one. The current session remains active. Each revoked session is also signed out via Supabase Admin API (best-effort). - [List active login sessions](/docs/reference/api/account-and-operations/login-sessions/list-login-sessions): Returns all active login sessions for the authenticated user. Automatically registers the current session with device/IP metadata. The current session is flagged with is_current: true. - Merchant - [Get the authenticated merchant](/docs/reference/api/account-and-operations/merchant/list-merchant): Returns the merchant record for the authenticated context (joined with its primary identity). Scoped to the active environment. - Security rules - [Create an approval request for a gated transaction](/docs/reference/api/account-and-operations/security-rules/create-approval-requests) - [Approve or deny an approval request](/docs/reference/api/account-and-operations/security-rules/create-resolve) - [Create a security rule (budget, approval, time restriction)](/docs/reference/api/account-and-operations/security-rules/create-security-rules) - [Delete a security rule](/docs/reference/api/account-and-operations/security-rules/delete-security-rules) - [List security rules](/docs/reference/api/account-and-operations/security-rules/list-security-rules) - [Update a security rule](/docs/reference/api/account-and-operations/security-rules/update-security-rules) - Webhooks - [Register a webhook endpoint](/docs/reference/api/account-and-operations/webhooks/create-root): Register a new webhook endpoint to receive real-time event notifications. The secret is returned only once — store it securely. - [Delete a webhook endpoint](/docs/reference/api/account-and-operations/webhooks/delete-root): Permanently delete a webhook endpoint. - [List webhook deliveries](/docs/reference/api/account-and-operations/webhooks/get-deliverie): List delivery attempts for a webhook endpoint with optional filtering. - [List webhook deliveries](/docs/reference/api/account-and-operations/webhooks/list-deliveries): List webhook deliveries for all company endpoints with optional filtering. - [List webhook endpoints](/docs/reference/api/account-and-operations/webhooks/list-root-2): List all webhook endpoints for your company. Secrets are never returned. - [Update a webhook endpoint](/docs/reference/api/account-and-operations/webhooks/update-root): Update the webhook URL, subscribed events, or active state. - [Webhooks](/docs/reference/webhooks): How Easy Labs notifies your server about asynchronous events — endpoint setup, signature verification, retry behavior, and the full event catalog. - [Compliance & scale](/docs/reference/compliance): Security model, certifications, uptime, throughput limits, and data residency for the Easy Labs platform. - **Releases** - Changelog: Release history for every Easy Labs SDK and the Easy HTTP API. - [Changelog](/docs/changelog): Release history for every Easy Labs SDK and the Easy HTTP API. - **Frontend** - [JavaScript SDK changelog](/docs/changelog/javascript): Release history for `@easylabs/browser`. - [React SDK changelog](/docs/changelog/react): Release history for `@easylabs/react`. - [React Native SDK changelog](/docs/changelog/react-native): Release history for `@easylabs/react-native`. - **Backend** - [Node.js SDK changelog](/docs/changelog/node): Release history for `@easylabs/node`. - [Ruby SDK changelog](/docs/changelog/ruby): Release history for `easy-sdk (Ruby gem)`. - [Python SDK changelog](/docs/changelog/python): Release history for `easylabs (pip package)`. - **API** - [API changelog](/docs/changelog/api): Easy HTTP API surface changes.