Request and manage the capabilities
an account needs - e.g. "transfers", "wallet", "send-funds",
"collect-funds", "card-issuing".
Summary
Functions
Requests one or more capabilities for an account.
Disables a previously enabled capability.
Retrieves a single capability, e.g. "transfers" or "wallet".
Lists an account's capabilities and their statuses.
Functions
@spec create(Moov.Client.t(), String.t(), map()) :: {:ok, map()} | {:error, Moov.Error.t()}
Requests one or more capabilities for an account.
params: %{capabilities: ["transfers", "wallet"]}. Moov evaluates
underwriting/KYC requirements asynchronously - check status on the
returned capability (or subscribe to capability.updated webhooks)
rather than assuming it's immediately "enabled".
@spec disable(Moov.Client.t(), String.t(), String.t()) :: {:ok, term()} | {:error, Moov.Error.t()}
Disables a previously enabled capability.
@spec get(Moov.Client.t(), String.t(), String.t()) :: {:ok, map()} | {:error, Moov.Error.t()}
Retrieves a single capability, e.g. "transfers" or "wallet".
@spec list(Moov.Client.t(), String.t(), keyword()) :: {:ok, [map()]} | {:error, Moov.Error.t()}
Lists an account's capabilities and their statuses.