openapi: 3.0.3 info: title: Moov Accounts API description: The Moov API lets software platforms accept, store, send, and spend money through a single REST API. It is organized around Moov accounts, funding sources (bank accounts, cards, wallets, payment methods), and money movement (transfers, refunds, disputes, sweeps, card issuing). The API is based on REST principles, returns JSON, and uses standard HTTP response codes. Requests are authenticated with an OAuth 2.0 access token (Bearer). Event notifications are delivered via webhooks (HTTPS POST with an HMAC SHA-512 signature); Moov does not expose a public WebSocket API. This document models a representative subset of the commercial hosted API at api.moov.io - the canonical, machine-generated OpenAPI spec is published by Moov (see externalDocs). Separately, Moov maintains open-source Go libraries for banking file formats at github.com/moov-io, which are not part of this API. version: v2026.04.00 contact: name: Moov url: https://moov.io termsOfService: https://moov.io/legal/platform-agreement/ servers: - url: https://api.moov.io description: Moov production security: - bearerAuth: [] tags: - name: Accounts description: Business and individual accounts, the core money-movement identity. paths: /accounts: post: operationId: createAccount tags: - Accounts summary: Create an account. responses: '200': description: The created account. get: operationId: listAccounts tags: - Accounts summary: List accounts. responses: '200': description: A list of accounts. /accounts/{accountID}: parameters: - $ref: '#/components/parameters/accountID' get: operationId: getAccount tags: - Accounts summary: Retrieve an account. responses: '200': description: The account. patch: operationId: updateAccount tags: - Accounts summary: Update an account. responses: '200': description: The updated account. delete: operationId: disconnectAccount tags: - Accounts summary: Disconnect an account. responses: '204': description: Account disconnected. /accounts/{accountID}/connections: parameters: - $ref: '#/components/parameters/accountID' post: operationId: createConnection tags: - Accounts summary: Create an account connection. responses: '200': description: The created connection. /accounts/{accountID}/connected-accounts: parameters: - $ref: '#/components/parameters/accountID' get: operationId: listConnectedAccounts tags: - Accounts summary: List connected accounts. responses: '200': description: A list of connected accounts. /tos-token: get: operationId: getTermsOfServiceToken tags: - Accounts summary: Generate a terms-of-service token. responses: '200': description: A terms-of-service token. components: parameters: accountID: name: accountID in: path required: true schema: type: string format: uuid description: The Moov account identifier. securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 access token passed as a Bearer token. externalDocs: description: Moov API reference and canonical OpenAPI spec url: https://docs.moov.io/api/