Create a Moov account for your user via POST /accounts with the accountType (individual or business) and profile data; receive the accountID
Request the ach-debit-send capability by posting to /accounts/{accountID}/capabilities with capability=ach-debit-send; Moov responds with a requirements object listing what information must be collected
Retrieve the detailed requirements via GET /accounts/{accountID}/capabilities/{capability}; parse requirements.currentlyDue[] — each entry specifies a field path (e.g., individual.birthDate, business.taxID) that must be provided
Patch the account with the missing fields via PATCH /accounts/{accountID}; re-fetch capabilities after each patch to see which requirements are now satisfied and which remain
When requirements are fulfilled, Moov initiates an asynchronous verification step (identity check, OFAC screening); poll GET /accounts/{accountID}/capabilities/{capability} until status transitions from requirements-not-met to enabled or disabled
If status is disabled, parse disabledReason for the specific rejection rationale; for identity-related failures, implement a manual review or document upload flow using Moov's verification endpoints
Known gotchas
Capability requirements can change mid-flow if Moov's risk engine flags the account — a capability that appeared close to satisfied may gain new requirements after an initial submission; always re-fetch requirements after each PATCH
Some requirements (e.g., microdeposit bank account verification) have their own async sub-flows that block capability enablement; track all sub-flows independently and do not assume a single PATCH sequence will suffice
The capabilities API returns requirements for the capability in isolation; an account may have multiple capabilities requested simultaneously with overlapping but distinct requirements — manage them as separate state machines
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp