Moov
Moov is a financial infrastructure platform that enables developers to embed money movement capabilities directly into their applications. Their developer platform provides a RESTful API, client-side JavaScript SDK, pre-built UI components, and official backend SDKs across multiple languages for building compliant, full-featured financial products.
APIs
Moov API
The Moov API is a RESTful financial infrastructure platform that enables developers to integrate money movement capabilities into their applications. The API supports a full ran...
Moov.js
Moov.js is a client-side JavaScript SDK designed to streamline interactions with the Moov API while keeping personally identifiable information out of developer infrastructure. ...
Moov Drops
Moov Drops are pre-built, drop-in web UI components for complicated payment and account management flows. These components securely collect payment and account information from ...
Moov Backend SDKs
Moov provides official server-side client libraries for interacting with the Moov API across multiple programming languages, including Go, TypeScript, Python, Java, PHP, Ruby, a...
Collections
Moov API
OPENPricing Plans
Rate Limits
FinOps
Moov Finops
FINOPSFeatures
Event Specifications
Moov Webhooks
Moov delivers real-time event notifications to your application via webhooks when state changes occur on your platform. When an event occurs, Moov sends an HTTP POST request wit...
ASYNCAPISemantic Vocabularies
JSON Structure
Resources
Sources
opencollection: 1.0.0
info:
name: Moov API
version: 2026.01.00
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: Authentication
type: folder
items:
- info:
name: Create an access token
type: http
http:
method: POST
url: https://api.moov.io/oauth2/token
body:
type: form-urlencoded
data: []
docs: Exchange credentials for an OAuth2 access token. The token must be included as a Bearer token in the Authorization
header for all subsequent API requests. Include the required scopes to grant permission for the operations you intend
to perform.
- info:
name: Revoke an access token
type: http
http:
method: POST
url: https://api.moov.io/oauth2/revoke
body:
type: form-urlencoded
data: []
docs: Revoke a previously issued OAuth2 access token to invalidate it immediately. Use this when a token is no longer
needed or when rotating credentials.
- info:
name: Accounts
type: folder
items:
- info:
name: Generate a terms of service token
type: http
http:
method: GET
url: https://api.moov.io/tos-token
docs: Retrieve a short-lived terms of service token required when creating new Moov accounts on behalf of users. The token
confirms acceptance of Moov's platform agreement.
- info:
name: List accounts
type: http
http:
method: GET
url: https://api.moov.io/accounts
params:
- name: count
value: ''
type: query
description: Maximum number of results to return per page.
- name: skip
value: ''
type: query
description: Number of results to skip for pagination.
- name: name
value: ''
type: query
description: Filter accounts by display name.
- name: email
value: ''
type: query
description: Filter accounts by email address.
- name: type
value: ''
type: query
description: Filter by account type (individual or business).
docs: Retrieve a list of accounts connected to your platform. Supports filtering by name, email, and type to locate specific
accounts.
- info:
name: Create an account
type: http
http:
method: POST
url: https://api.moov.io/accounts
body:
type: json
data: '{}'
docs: Create a new Moov account representing an individual or business legal entity. Accounts are required before linking
payment methods or initiating transfers. Include a terms of service token from the /tos-token endpoint.
- info:
name: Retrieve an account
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Fetch the full details of a specific Moov account by its unique identifier, including profile information, verification
status, and capabilities.
- info:
name: Update an account
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Modify the profile and settings of an existing Moov account. Only the fields provided in the request body will be
updated; omitted fields remain unchanged.
- info:
name: Delete an account
type: http
http:
method: DELETE
url: https://api.moov.io/accounts/:accountID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Remove a Moov account and all associated data. This operation is irreversible. Ensure all funds have been disbursed
before deleting an account.
- info:
name: Share an account connection
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/connections
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Establish a connection between two Moov accounts, enabling the platform account to act on behalf of the connected
account for money movement and management operations.
- info:
name: List connected accounts
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/connected-accounts
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all accounts that have been connected to the specified account. Used by platform accounts to enumerate
their linked user accounts.
- info:
name: Capabilities
type: folder
items:
- info:
name: List capabilities
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/capabilities
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all capabilities associated with an account, including their current status and any outstanding requirements
needed for activation.
- info:
name: Request capabilities
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/capabilities
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Request one or more capabilities for a Moov account to enable specific financial operations. Moov will evaluate
the request and may require additional information before granting capabilities.
- info:
name: Retrieve a capability
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/capabilities/:capabilityID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: capabilityID
value: ''
type: path
description: Unique identifier for the capability.
docs: Fetch the current status and requirements for a specific capability on a Moov account. Use this to track onboarding
progress for a given feature.
- info:
name: Disable a capability
type: http
http:
method: DELETE
url: https://api.moov.io/accounts/:accountID/capabilities/:capabilityID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: capabilityID
value: ''
type: path
description: Unique identifier for the capability.
docs: Remove a capability from a Moov account, preventing the associated financial operations from being performed on
that account.
- info:
name: Representatives
type: folder
items:
- info:
name: List representatives
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/representatives
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all business representatives associated with a Moov account, including their verification status and ownership
details.
- info:
name: Add a representative
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/representatives
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Add a business representative to a Moov account for KYB compliance. Representatives are individuals with significant
ownership or control over the business, as required by FinCEN beneficial ownership rules.
- info:
name: Retrieve a representative
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/representatives/:representativeID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: representativeID
value: ''
type: path
description: Unique identifier for the representative.
docs: Fetch the full profile and verification details for a specific business representative on a Moov account.
- info:
name: Update a representative
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID/representatives/:representativeID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: representativeID
value: ''
type: path
description: Unique identifier for the representative.
body:
type: json
data: '{}'
docs: Modify the information for an existing business representative. Use this to correct or update personal details,
ownership percentages, or contact information as part of KYB compliance maintenance.
- info:
name: Remove a representative
type: http
http:
method: DELETE
url: https://api.moov.io/accounts/:accountID/representatives/:representativeID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: representativeID
value: ''
type: path
description: Unique identifier for the representative.
docs: Delete a business representative from a Moov account. This may affect the account's compliance status and capability
eligibility.
- info:
name: Bank Accounts
type: folder
items:
- info:
name: List bank accounts
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/bank-accounts
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all bank accounts linked to a Moov account, including their verification status and account details.
- info:
name: Link a bank account
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/bank-accounts
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Connect a bank account to a Moov account as a funding source for ACH and RTP transfers. After linking, verify the
bank account using either instant verification or micro-deposits before it can be used for transfers.
- info:
name: Retrieve a bank account
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
docs: Fetch the details and verification status of a specific bank account linked to a Moov account.
- info:
name: Delete a bank account
type: http
http:
method: DELETE
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
docs: Unlink and remove a bank account from a Moov account. This does not close the underlying bank account, only removes
it from the Moov platform.
- info:
name: Get verification status
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID/verify
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
docs: Check the current status of a bank account verification attempt, including whether it is pending, completed, or
has failed.
- info:
name: Initiate bank account verification
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID/verify
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
docs: Start the instant verification flow for a linked bank account. This method uses real-time data to verify the account
without requiring micro-deposits, providing faster time-to-use for the funding source.
- info:
name: Complete bank account verification
type: http
http:
method: PUT
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID/verify
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
body:
type: json
data: '{}'
docs: Submit the verification code or confirmation to finalize instant verification of a linked bank account.
- info:
name: Initiate micro-deposits
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID/micro-deposits
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
docs: Start the micro-deposit verification process by sending two small amounts to the linked bank account. The account
holder must confirm these amounts to complete verification.
- info:
name: Complete micro-deposit verification
type: http
http:
method: PUT
url: https://api.moov.io/accounts/:accountID/bank-accounts/:bankAccountID/micro-deposits
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: bankAccountID
value: ''
type: path
description: Unique identifier for the bank account.
body:
type: json
data: '{}'
docs: Confirm the micro-deposit amounts that were sent to the linked bank account to complete the verification process
and activate the bank account for transfers.
- info:
name: Cards
type: folder
items:
- info:
name: List cards
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/cards
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all cards linked to a Moov account, including their status, card brand, and last four digits.
- info:
name: Link a card
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/cards
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Attach a debit or credit card to a Moov account as a payment source. Card data is handled in a PCI-compliant manner
via Moov.js to keep sensitive card numbers out of developer infrastructure.
- info:
name: Retrieve a card
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/cards/:cardID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: cardID
value: ''
type: path
description: Unique identifier for the card.
docs: Fetch the details of a specific linked card on a Moov account, including card type, brand, expiration, and current
status.
- info:
name: Update a card
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID/cards/:cardID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: cardID
value: ''
type: path
description: Unique identifier for the card.
body:
type: json
data: '{}'
docs: Update the billing address or other mutable attributes of a linked card on a Moov account.
- info:
name: Disable a card
type: http
http:
method: DELETE
url: https://api.moov.io/accounts/:accountID/cards/:cardID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: cardID
value: ''
type: path
description: Unique identifier for the card.
docs: Remove a linked card from a Moov account. Disabled cards can no longer be used as a payment source for new transfers.
- info:
name: Wallets
type: folder
items:
- info:
name: List wallets
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all wallets associated with a Moov account, including their current balances and currencies.
- info:
name: Create a wallet
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/wallets
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Create a Moov digital wallet for an account to hold funds within the platform. Wallets serve as an intermediate
store of value for money movement operations.
- info:
name: Retrieve a wallet
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets/:walletID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
docs: Fetch the details and current balance of a specific Moov wallet for an account.
- info:
name: Update a wallet
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID/wallets/:walletID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
body:
type: json
data: '{}'
docs: Modify the configuration of an existing Moov wallet, such as updating its display name or settings.
- info:
name: List wallet transactions
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets/:walletID/transactions
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
- name: count
value: ''
type: query
description: Maximum number of results to return per page.
- name: skip
value: ''
type: query
description: Number of results to skip for pagination.
docs: Retrieve the transaction history for a Moov wallet, showing all credits and debits with timestamps and amounts.
- info:
name: Retrieve a wallet transaction
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets/:walletID/transactions/:transactionID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
- name: transactionID
value: ''
type: path
description: Unique identifier for the wallet transaction.
docs: Fetch the details of a specific transaction within a Moov wallet, including its type, amount, and associated transfer
reference.
- info:
name: Payment Methods
type: folder
items:
- info:
name: List payment methods
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/payment-methods
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all available payment methods for a Moov account, including bank accounts, cards, and wallets. The available
methods depend on linked funding sources and the account's enabled capabilities.
- info:
name: Retrieve a payment method
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/payment-methods/:paymentMethodID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: paymentMethodID
value: ''
type: path
description: Unique identifier for the payment method.
docs: Fetch the details of a specific payment method on a Moov account.
- info:
name: Transfers
type: folder
items:
- info:
name: List transfers
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/transfers
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: count
value: ''
type: query
description: Maximum number of results to return per page.
- name: skip
value: ''
type: query
description: Number of results to skip for pagination.
- name: status
value: ''
type: query
description: Filter transfers by their current status.
docs: Retrieve the transfer history for a Moov account, with optional filters for date range, status, and transfer type.
- info:
name: Create a transfer
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/transfers
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Initiate a money movement from a source payment method to a destination payment method. Transfers can move funds
via ACH, RTP, or card rails. Every transfer has a source (where the money comes from) and a destination (where the money
goes).
- info:
name: Retrieve a transfer
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/transfers/:transferID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
docs: Fetch the full details of a specific transfer, including its status, source, destination, amount, and rail-specific
status updates.
- info:
name: Update transfer metadata
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID/transfers/:transferID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
body:
type: json
data: '{}'
docs: Update the metadata associated with an existing transfer. Only custom metadata fields can be modified after a transfer
is created.
- info:
name: Retrieve transfer options
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/transfer-options
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Get the available transfer options for a given source and destination account pair, including eligible payment rails,
fees, and estimated settlement times to help users choose the best transfer method.
- info:
name: Cancel a transfer
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/transfers/:transferID/cancellations
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
docs: Attempt to cancel a pending transfer before it is processed. Cancellation is only available for transfers that have
not yet been submitted to the payment rail.
- info:
name: Refunds
type: folder
items:
- info:
name: List refunds
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/transfers/:transferID/refunds
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
docs: Retrieve all refunds associated with a specific transfer.
- info:
name: Create a refund
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/transfers/:transferID/refunds
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
body:
type: json
data: '{}'
docs: Initiate a refund for a completed card transfer. Supports full and partial refunds. The refunded amount will be
returned to the original payment method.
- info:
name: Retrieve a refund
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/transfers/:transferID/refunds/:refundID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: transferID
value: ''
type: path
description: Unique identifier for the transfer.
- name: refundID
value: ''
type: path
description: Unique identifier for the refund.
docs: Fetch the details and current status of a specific refund on a transfer.
- info:
name: Sweeps
type: folder
items:
- info:
name: List sweep configs
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/sweep-configs
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
docs: Retrieve all sweep configurations for a Moov account.
- info:
name: Create a sweep config
type: http
http:
method: POST
url: https://api.moov.io/accounts/:accountID/sweep-configs
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
body:
type: json
data: '{}'
docs: Configure automatic daily transfers from a Moov wallet to a linked bank account. Choose from standard ACH, same-day
ACH, or RTP rails with varying settlement times from instant to next business day.
- info:
name: Get a sweep config
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/sweep-configs/:sweepConfigID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: sweepConfigID
value: ''
type: path
description: Unique identifier for the sweep configuration.
docs: Retrieve the details of a specific sweep configuration for a Moov account.
- info:
name: Update a sweep config
type: http
http:
method: PATCH
url: https://api.moov.io/accounts/:accountID/sweep-configs/:sweepConfigID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: sweepConfigID
value: ''
type: path
description: Unique identifier for the sweep configuration.
body:
type: json
data: '{}'
docs: Modify an existing sweep configuration, such as changing the target bank account, transfer rail, or schedule parameters.
- info:
name: List sweeps
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets/:walletID/sweeps
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
docs: Retrieve a list of sweep executions for a wallet, showing each automatic transfer that has been triggered by a sweep
configuration.
- info:
name: Get a sweep
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/wallets/:walletID/sweeps/:sweepID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: walletID
value: ''
type: path
description: Unique identifier for the wallet.
- name: sweepID
value: ''
type: path
description: Unique identifier for the sweep execution.
docs: Fetch the details of a specific sweep execution, including its transfer amount, status, and associated transfer
ID.
- info:
name: Disputes
type: folder
items:
- info:
name: List disputes
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/disputes
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: count
value: ''
type: query
description: Maximum number of results to return per page.
- name: skip
value: ''
type: query
description: Number of results to skip for pagination.
docs: Retrieve all card payment disputes for a Moov account, including their status, disputed amount, and reason codes.
- info:
name: Retrieve a dispute
type: http
http:
method: GET
url: https://api.moov.io/accounts/:accountID/disputes/:disputeID
params:
- name: accountID
value: ''
type: path
description: Unique identifier for the Moov account.
- name: disputeID
value: ''
type: path
description: Unique identifier for the dispute.
docs: Fetch the full details of a specific card dispute, including reason codes, amounts, deadlines for evidence submi
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moov/refs/heads/main/apis.yml