{"id":"590e2f64-05ca-4c26-a8ee-9dc99d297981","task":"Implement Moov account capability request flow and poll requirements to reach an enabled state for ACH debit","domain":"banking-general","steps":["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"],"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"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/590e2f64-05ca-4c26-a8ee-9dc99d297981"}