{ "openapi": "3.0.0", "info": { "title": "Moov API", "contact": { "name": "Moov Developer Support", "email": "help@moov.io", "url": "https://moov.io" }, "license": { "name": "Unlicensed", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "description": "Moov is a platform that enables developers to integrate all aspects of money movement with ease and speed.\nThe Moov API makes it simple for platforms to send, receive, and store money. Our API is based upon REST\nprinciples, returns JSON responses, and uses standard HTTP response codes. To learn more about how Moov\nworks at a high level, read our [concepts](https://docs.moov.io/guides/get-started/glossary/) guide.", "version": "v2025.07.00" }, "externalDocs": { "url": "https://docs.moov.io/", "description": "Moov Guides and API Documentation" }, "tags": [ { "name": "Accounts" }, { "name": "Adjustments" }, { "name": "Apple pay" }, { "name": "Authentication" }, { "name": "Bank accounts" }, { "name": "Fee plans" }, { "name": "Statements" }, { "name": "Branding" }, { "name": "Capabilities" }, { "name": "Cards" }, { "name": "Disputes" }, { "name": "End to End Encryption" }, { "name": "Enriched address" }, { "name": "Enriched profile" }, { "name": "Industries" }, { "name": "Avatars" }, { "name": "Institutions" }, { "name": "Files" }, { "name": "Images" }, { "name": "Card issuing" }, { "name": "Issuing transactions" }, { "name": "Onboarding" }, { "name": "Payment links" }, { "name": "Payment methods" }, { "name": "Ping" }, { "name": "Products" }, { "name": "Receipts" }, { "name": "Representatives" }, { "name": "Scheduling" }, { "name": "Support" }, { "name": "Terminal Applications" }, { "name": "Account Terminal Applications" }, { "name": "Transfers" }, { "name": "Underwriting" }, { "name": "Sweeps" }, { "name": "Wallet transactions" }, { "name": "Wallets" }, { "name": "Webhooks" } ], "paths": { "/accounts": { "post": { "operationId": "createAccount", "description": "You can create **business** or **individual** accounts for your users (i.e., customers, merchants) by passing the required\ninformation to Moov. Requirements differ per account type and requested [capabilities](https://docs.moov.io/guides/accounts/capabilities/requirements/).\n\nIf you're requesting the `wallet`, `send-funds`, `collect-funds`, or `card-issuing` capabilities, you'll need to:\n + Send Moov the user [platform terms of service agreement](https://docs.moov.io/guides/accounts/requirements/platform-agreement/) acceptance.\n This can be done upon account creation, or by [patching](https://docs.moov.io/api/moov-accounts/accounts/patch/) the account using the `termsOfService` field.\nIf you're creating a business account with the business type `llc`, `partnership`, or `privateCorporation`, you'll need to:\n + Provide [business representatives](https://docs.moov.io/api/moov-accounts/representatives/) after creating the account.\n + [Patch](https://docs.moov.io/api/moov-accounts/accounts/patch/) the account to indicate that business representative ownership information is complete.\n\nVisit our documentation to read more about [creating accounts](https://docs.moov.io/guides/accounts/create-accounts/) and [verification requirements](https://docs.moov.io/guides/accounts/requirements/identity-verification/).\nNote that the `mode` field (for production or sandbox) is only required when creating a _facilitator_ account. All non-facilitator account requests will ignore the mode field and be set to the calling facilitator's mode.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \nto specify the `/accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Account" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAccountError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAccount" } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listAccounts", "description": "List or search accounts to which the caller is connected.\n\nAll supported query parameters are optional. If none are provided the response will include all connected accounts.\nPagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and \nreturn results based on relevance. Accounts with AccountType `guest` will not be included in the response.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \nto specify the `/accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/AccountsQuery.name" }, { "$ref": "#/components/parameters/AccountsQuery.email" }, { "$ref": "#/components/parameters/AccountsQuery.type" }, { "$ref": "#/components/parameters/AccountsQuery.foreignID" }, { "$ref": "#/components/parameters/AccountsQuery.includeDisconnected" }, { "$ref": "#/components/parameters/AccountsQuery.capability" }, { "$ref": "#/components/parameters/AccountsQuery.capabilityStatus" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Account" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}": { "get": { "operationId": "getAccount", "description": "Retrieves details for the account with the specified ID.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \nto specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Account" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "get" }, "patch": { "operationId": "updateAccount", "description": "When **can** profile data be updated:\n + For unverified accounts, all profile data can be edited.\n + During the verification process, missing or incomplete profile data can be edited.\n + Verified accounts can only add missing profile data.\n\n When **can't** profile data be updated:\n + Verified accounts cannot change any existing profile data.\n\nIf you need to update information in a locked state, please contact Moov support.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need\nto specify the `/accounts/{accountID}/profile.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Account" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchAccountError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchAccount" } } } }, "x-speakeasy-name-override": "updateProfile" }, "delete": { "operationId": "disconnectAccount", "description": "This will sever the connection between you and the account specified and it will no longer be listed as \nactive in the list of accounts. This also means you'll only have read-only access to the account going \nforward for reporting purposes.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.disconnect` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "disconnect" } }, "/accounts/{accountID}/adjustments": { "get": { "operationId": "listAdjustments", "description": "List adjustments associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "walletID", "in": "query", "required": false, "description": "A wallet ID to filter adjustments by.", "schema": { "type": "string" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Adjustment" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Adjustments" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/adjustments/{adjustmentID}": { "get": { "operationId": "getAdjustment", "description": "Retrieve a specific adjustment associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "adjustmentID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Adjustment" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Adjustments" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/apple-pay/domains": { "post": { "operationId": "registerApplePayMerchantDomains", "description": "Add domains to be registered with Apple Pay.\n\nAny domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) \nwith Apple.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the Moov account representing the merchant.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplePayMerchantDomains" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "Apple Pay domains are already registered for this account.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "417": { "description": "The requested domains were not verified.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Apple pay" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterApplePayMerchantDomains" } } } }, "x-speakeasy-name-override": "registerDomains", "x-speakeasy-group": "applePay" }, "patch": { "operationId": "updateApplePayMerchantDomains", "description": "Add or remove domains to be registered with Apple Pay.\n\nAny domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains)\nwith Apple.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the Moov account representing the merchant.", "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "Apple Pay domains are already registered for this account.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "417": { "description": "The requested domains were not verified.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Apple pay" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApplePayMerchantDomains" } } } }, "x-speakeasy-name-override": "updateDomains", "x-speakeasy-group": "applePay" }, "get": { "operationId": "getApplePayMerchantDomains", "description": "Get domains registered with Apple Pay. \n\nRead our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/apple-pay.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the Moov account representing the merchant.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplePayMerchantDomains" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Apple pay" ], "x-speakeasy-name-override": "getDomains", "x-speakeasy-group": "applePay" } }, "/accounts/{accountID}/apple-pay/sessions": { "post": { "operationId": "createApplePaySession", "description": "Create a session with Apple Pay to facilitate a payment. \n\nRead our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. \nA successful response from this endpoint should be passed through to Apple Pay unchanged. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the Moov account representing the merchant.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApplePaySession" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Apple pay" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApplePaySession" } } } }, "x-speakeasy-name-override": "createSession", "x-speakeasy-group": "applePay" } }, "/accounts/{accountID}/apple-pay/tokens": { "post": { "operationId": "linkApplePayToken", "description": "Connect an Apple Pay token to the specified account. \n\nRead our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. \nThe `token` data is defined by Apple Pay and should be passed through from Apple Pay's response unmodified.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the Moov account representing the cardholder.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkedApplePayPaymentMethod" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkApplePayError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Apple pay" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkApplePay" } } } }, "x-speakeasy-name-override": "linkToken", "x-speakeasy-group": "applePay" } }, "/accounts/{accountID}/bank-accounts": { "post": { "operationId": "linkBankAccount", "description": "Link a bank account to an existing Moov account. Read our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more.\n\nIt is strongly recommended that callers include the `X-Wait-For` header, set to `payment-method`, if the newly linked\nbank-account is intended to be used right away. If this header is not included, the caller will need to poll the [List Payment\nMethods](https://docs.moov.io/api/sources/payment-methods/list/)\nendpoint to wait for the new payment methods to be available for use.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-wait-for", "in": "header", "required": false, "description": "Optional header to wait for certain events, such as the creation of a payment method, to occur before returning a response.\n\nWhen this header is set to `payment-method`, the response will include any payment methods that were created for the newly\nlinked card in the `paymentMethods` field. Otherwise, the `paymentMethods` field will be omitted from the response.", "schema": { "$ref": "#/components/schemas/BankAccountWaitFor" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccount" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccountValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkBankAccount" } } } }, "x-speakeasy-name-override": "link", "x-speakeasy-group": "bankAccounts" }, "get": { "operationId": "listBankAccounts", "description": "List all the bank accounts associated with a particular Moov account. \n\nRead our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BankAccount" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "bankAccounts" } }, "/accounts/{accountID}/bank-accounts/{bankAccountID}": { "get": { "operationId": "getBankAccount", "description": "Retrieve bank account details (i.e. routing number or account type) associated with a specific Moov account. \n\nRead our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccount" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "bankAccounts" }, "delete": { "operationId": "disableBankAccount", "description": "Discontinue using a specified bank account linked to a Moov account. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-name-override": "disable", "x-speakeasy-group": "bankAccounts" } }, "/accounts/{accountID}/bank-accounts/{bankAccountID}/micro-deposits": { "post": { "operationId": "initiateMicroDeposits", "description": "Micro-deposits help confirm bank account ownership, helping reduce fraud and the risk of unauthorized activity. \nUse this method to initiate the micro-deposit verification, sending two small credit transfers to the bank account \nyou want to confirm.\n\nIf you request micro-deposits before 4:15PM ET, they will appear that same day. If you request micro-deposits any \ntime after 4:15PM ET, they will appear the next banking day. When the two credits are initiated, Moov simultaneously\ninitiates a debit to recoup the micro-deposits. \n\nMicro-deposits initiated for a `sandbox` bank account will always be `$0.00` / `$0.00` and instantly verifiable once initiated.\n\nYou can simulate micro-deposit verification in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#micro-deposits)\nguide for more information.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-group": "bankAccounts" }, "put": { "operationId": "completeMicroDeposits", "description": "Complete the micro-deposit validation process by passing the amounts of the two transfers within three tries.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompletedMicroDeposits" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MicroDepositValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompleteMicroDeposits" } } } }, "x-speakeasy-group": "bankAccounts" } }, "/accounts/{accountID}/bank-accounts/{bankAccountID}/verify": { "get": { "operationId": "getBankAccountVerification", "description": "Retrieve the current status and details of an instant verification, including whether the verification method was instant (RTP or FedNow) or same-day\nACH. This helps track the verification process in real-time and provides details in case of exceptions.\n\nThe status will indicate the following:\n\n- `new`: Verification initiated, credit pending to the payment network\n- `sent-credit`: Credit sent, available for verification\n- `failed`: Verification failed, description provided, user needs to add a new bank account\n- `expired`: Verification expired after 14 days, initiate another verification\n- `max-attempts-exceeded`: Five incorrect code attempts exhausted, initiate another verification\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccountVerification" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-name-override": "getVerification", "x-speakeasy-group": "bankAccounts" }, "post": { "operationId": "initiateBankAccountVerification", "description": "Instant micro-deposit verification offers a quick and efficient way to verify bank account ownership. \n\nSend a $0.01 credit with a unique verification code via RTP, FedNow, or same-day ACH, depending on the receiving bank's capabilities. This\nfeature provides a faster alternative to traditional methods, allowing verification in a single session.\n\nIt is recommended to use the `X-Wait-For: rail-response` header to synchronously receive the outcome of the instant credit in the\n response payload.\n\nPossible verification methods:\n - `instant`: Real-time verification credit sent via RTP or FedNow\n - `ach`: Verification credit sent via same-day ACH\n\nPossible statuses:\n - `new`: Verification initiated, credit pending\n - `sent-credit`: Credit sent, available for verification in the external bank account\n - `failed`: Verification failed due to credit rejection/return, details in `exceptionDetails`\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-wait-for", "in": "header", "required": false, "description": "Optional header to wait for certain events, such as the rail response, to occur before returning a response.\n\nWhen this header is set to `rail-response`, the endpoint will wait for a sent-credit or failed status from the payment rail.", "schema": { "$ref": "#/components/schemas/BankAccountWaitFor" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccountVerificationCreated" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "x-speakeasy-name-override": "initiateVerification", "x-speakeasy-group": "bankAccounts" }, "put": { "operationId": "completeBankAccountVerification", "description": "Finalize the instant micro-deposit verification by submitting the verification code displayed in the user's bank account. \n\nUpon successful verification, the bank account status will be updated to `verified` and eligible for ACH debit transactions.\n\nThe following formats are accepted:\n- `MV0000`\n- `mv0000`\n- `0000`\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "bankAccountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BankAccountVerification" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Bank accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompleteBankAccountVerification" } } } }, "x-speakeasy-name-override": "completeVerification", "x-speakeasy-group": "bankAccounts" } }, "/accounts/{accountID}/branding": { "post": { "operationId": "createBrand", "description": "Create brand properties for the specified account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/branding.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandProperties" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Branding" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandProperties" } } } }, "x-speakeasy-name-override": "create" }, "put": { "operationId": "upsertBrand", "description": "Create or replace brand properties for the specified account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/branding.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandProperties" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Branding" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandProperties" } } } }, "x-speakeasy-name-override": "upsert" }, "get": { "operationId": "getBrand", "description": "Get brand properties for the specified account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/branding.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BrandProperties" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Branding" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/capabilities": { "get": { "operationId": "listCapabilities", "description": "Retrieve all the capabilities an account has requested.\n\nRead our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/capabilities.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Capability" } }, "example": [ { "capability": "transfers", "accountID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" }, { "capability": "collect-funds", "accountID": "01234567-89ab-cdef-0123-456789abcdef", "status": "in-review", "requirements": { "currentlyDue": [ "business.owners" ] }, "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Capabilities" ], "x-speakeasy-name-override": "list" }, "post": { "operationId": "requestCapabilities", "description": "Request capabilities for a specific account. Read our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/capabilities.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Capability" } }, "example": [ { "capability": "transfers", "accountID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" }, { "capability": "collect-funds", "accountID": "01234567-89ab-cdef-0123-456789abcdef", "status": "in-review", "requirements": { "currentlyDue": [ "business.owners" ] }, "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } ] } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddCapabilitiesError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Capabilities" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddCapabilities" }, "example": { "capabilities": [ "collect-funds" ] } } } }, "x-speakeasy-name-override": "request" } }, "/accounts/{accountID}/capabilities/{capabilityID}": { "get": { "operationId": "getCapability", "description": "Retrieve a specific capability that an account has requested. Read our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/capabilities.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "capabilityID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/CapabilityID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Capability" }, "example": { "capability": "transfers", "accountID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Capabilities" ], "x-speakeasy-name-override": "get" }, "delete": { "operationId": "disableCapability", "description": "Disable a specific capability that an account has requested. Read our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.\n\n To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/capabilities.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "capabilityID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/CapabilityID" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Capabilities" ], "x-speakeasy-name-override": "disable" } }, "/accounts/{accountID}/cards": { "post": { "operationId": "linkCard", "description": "Link a card to an existing Moov account. \n\nRead our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#link-a-card) to learn more.\n\nOnly use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance. \n\nDuring card linking, the provided data will be verified by submitting a $0 authorization (account verification) request. \nIf `merchantAccountID` is provided, the authorization request will contain that account's statement descriptor and address. \nOtherwise, the platform account's profile will be used. If no statement descriptor has been set, the authorization will \nuse the account's name instead.\n\nIt is strongly recommended that callers include the `X-Wait-For` header, set to `payment-method`, if the newly linked \ncard is intended to be used right away. If this header is not included, the caller will need to poll the [List Payment \nMethods](https://docs.moov.io/api/sources/payment-methods/list/)\nendpoint to wait for the new payment methods to be available for use.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-wait-for", "in": "header", "required": false, "description": "Optional header to wait for certain events, such as the creation of a payment method, to occur before returning a response.\n\nWhen this header is set to `payment-method`, the response will include any payment methods that were created for the newly \nlinked card in the `paymentMethods` field. Otherwise, the `paymentMethods` field will be omitted from the response.", "schema": { "$ref": "#/components/schemas/LinkCardWaitFor" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Card" }, "example": { "cardID": "01234567-89ab-cdef-0123-456789abcdef", "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", "brand": "Visa", "cardType": "credit", "cardCategory": "CLASSIC", "lastFourCardNumber": "1111", "bin": "411111", "expiration": { "month": "01", "year": "21" }, "holderName": "Jules Jackson", "billingAddress": { "addressLine1": "123 Main Street", "addressLine2": "Apt 302", "city": "Boulder", "stateOrProvince": "CO", "postalCode": "80301", "country": "US" }, "cardVerification": { "cvv": "match", "addressLine1": "match", "postalCode": "match", "accountName": { "firstName": "match", "lastName": "match", "middleName": "match", "fullName": "match" } }, "issuer": "GRINGOTTS BANK", "issuerCountry": "US", "issuerURL": "HTTPS://WWW.EXAMPLE.COM/", "issuerPhone": "8185551212", "commercial": false, "regulated": false, "cardOnFile": true, "merchantAccountID": "01234567-89ab-cdef-0123-456789abcdef", "cardAccountUpdater": { "updatedOn": "2024-05-06T12:20:38.184Z", "updateType": "number-update" }, "domesticPushToCard": "standard", "domesticPullFromCard": "supported", "paymentMethods": [ { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "card-payment" }, { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "push-to-card" }, { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "pull-from-card" } ] } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "Attempted to link card that already exists on the account.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DuplicateCardError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkCardError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Cards" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkCard" }, "example": { "cardNumber": "4111111111111111", "cardCvv": "123", "expiration": { "month": "01", "year": "21" }, "holderName": "Jules Jackson", "billingAddress": { "postalCode": "80301" } } } } }, "x-speakeasy-name-override": "link" }, "get": { "operationId": "listCards", "description": "List all the active cards associated with a Moov account. \n\nRead our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Card" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Cards" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/cards/{cardID}": { "get": { "operationId": "getCard", "description": "Fetch a specific card associated with a Moov account. \n\nRead our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "cardID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/CardID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Card" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Cards" ], "x-speakeasy-name-override": "get" }, "patch": { "operationId": "updateCard", "description": "Update a linked card and/or resubmit it for verification.\n\nIf a value is provided for CVV, a new verification ($0 authorization) will be submitted for the card. Updating the expiration\ndate or\naddress will update the information stored on file for the card but will not be verified.\n\nRead our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#reverify-a-card) to learn\nmore.\n\nOnly use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "cardID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/CardID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Card" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCardError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Cards" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCard" } } } }, "x-speakeasy-name-override": "update" }, "delete": { "operationId": "disableCard", "description": "Disables a card associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "cardID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/CardID" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Cards" ], "x-speakeasy-name-override": "disable" } }, "/accounts/{accountID}/connected-accounts": { "get": { "operationId": "listConnectedAccountsForAccount", "description": "List or search accounts to which the caller is connected.\n\nAll supported query parameters are optional. If none are provided the response will include all connected accounts.\nPagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and \nreturn results based on relevance. Accounts with AccountType `guest` will not be included in the response.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \nto specify the `/accounts.read` scope.", "parameters": [ { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/AccountsQuery.name" }, { "$ref": "#/components/parameters/AccountsQuery.email" }, { "$ref": "#/components/parameters/AccountsQuery.type" }, { "$ref": "#/components/parameters/AccountsQuery.foreignID" }, { "$ref": "#/components/parameters/AccountsQuery.includeDisconnected" }, { "$ref": "#/components/parameters/AccountsQuery.capability" }, { "$ref": "#/components/parameters/AccountsQuery.capabilityStatus" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Account" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "listConnected" } }, "/accounts/{accountID}/connections": { "post": { "operationId": "connectAccount", "description": "Shares access scopes from the account specified to the caller, establishing a connection \nbetween the two accounts with the specified permissions.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConnectAccountRequestValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShareScopes" } } } }, "x-speakeasy-name-override": "connect" } }, "/accounts/{accountID}/countries": { "get": { "operationId": "getAccountCountries", "description": "Retrieve the specified countries of operation for an account. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountCountries" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "getCountries" }, "put": { "operationId": "assignAccountCountries", "description": "Assign the countries of operation for an account.\n\nThis endpoint will always overwrite the previously assigned values. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountCountries" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AssignCountriesError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountCountries" } } } }, "x-speakeasy-name-override": "assignCountries" } }, "/accounts/{accountID}/disputes": { "get": { "operationId": "listDisputes", "description": "Returns the list of disputes. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "$ref": "#/components/parameters/DisputeListFilters.startDateTime" }, { "$ref": "#/components/parameters/DisputeListFilters.endDateTime" }, { "$ref": "#/components/parameters/DisputeListFilters.respondStartDateTime" }, { "$ref": "#/components/parameters/DisputeListFilters.respondEndDateTime" }, { "$ref": "#/components/parameters/DisputeListFilters.status" }, { "$ref": "#/components/parameters/DisputeListFilters.merchantAccountID" }, { "$ref": "#/components/parameters/DisputeListFilters.cardholderAccountID" }, { "$ref": "#/components/parameters/DisputeListFilters.disputeIDs" }, { "$ref": "#/components/parameters/DisputeListFilters.transferIDs" }, { "$ref": "#/components/parameters/DisputeListFilters.orderBy" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Dispute" } }, "example": [ { "disputeID": "6e356108-fdfa-4910-bbe4-1e3c8abf5520", "merchantAccountID": "34233b72-780c-4e0e-8b08-cbbe1bc878f8", "createdOn": "2024-12-23T17:55:00Z", "amount": { "currency": "USD", "value": 257753 }, "networkReasonCode": "10.4", "transfer": { "transferID": "ecac148a-917e-4ee0-b46a-c51408939fff" }, "respondBy": "2024-12-23T18:55:00Z", "status": "response-needed", "phase": "chargeback" } ] } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/disputes/{disputeID}": { "get": { "operationId": "getDispute", "description": "Get a dispute by ID. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Dispute" }, "example": { "disputeID": "6e356108-fdfa-4910-bbe4-1e3c8abf5520", "merchantAccountID": "34233b72-780c-4e0e-8b08-cbbe1bc878f8", "createdOn": "2024-12-23T17:55:00Z", "amount": { "currency": "USD", "value": 257753 }, "networkReasonCode": "10.4", "transfer": { "transferID": "ecac148a-917e-4ee0-b46a-c51408939fff" }, "respondBy": "2024-12-23T18:55:00Z", "status": "response-needed", "phase": "chargeback" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/disputes/{disputeID}/accept": { "post": { "operationId": "acceptDispute", "description": "Accepts liability for a dispute. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Dispute" }, "example": { "disputeID": "6e356108-fdfa-4910-bbe4-1e3c8abf5520", "merchantAccountID": "34233b72-780c-4e0e-8b08-cbbe1bc878f8", "createdOn": "2024-12-23T17:55:00Z", "amount": { "currency": "USD", "value": 257753 }, "networkReasonCode": "10.4", "transfer": { "transferID": "ecac148a-917e-4ee0-b46a-c51408939fff" }, "respondBy": "2024-12-23T18:55:00Z", "status": "accepted", "phase": "chargeback" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "accept" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence": { "get": { "operationId": "listDisputeEvidence", "description": "Returns a dispute's public evidence by its ID. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/DisputeEvidenceResponse" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "listEvidence" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence-file": { "post": { "operationId": "uploadDisputeEvidenceFile", "description": "Uploads a file as evidence for a dispute. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvidenceUploadResponse" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileUploadValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/CreateEvidenceFileMultiPart" }, "encoding": { "file": { "contentType": "application/pdf, image/jpeg, image/tiff" }, "evidenceType": { "contentType": "text/plain" } } } } }, "x-speakeasy-name-override": "uploadEvidenceFile" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence-text": { "post": { "operationId": "uploadDisputeEvidenceText", "description": "Uploads text as evidence for a dispute.\n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EvidenceTextResponse" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateEvidenceText" } } } }, "x-speakeasy-name-override": "uploadEvidenceText" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence/submit": { "post": { "operationId": "submitDisputeEvidence", "description": "Submit the evidence associated with a dispute.\n\nEvidence items must be uploaded using the appropriate endpoint(s) prior to calling this endpoint to submit it. **Evidence can only\nbe submitted once per dispute.**\n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Dispute" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "submitEvidence" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence/{evidenceID}": { "get": { "operationId": "getDisputeEvidence", "description": "Get dispute evidence by ID.\n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "evidenceID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisputeEvidenceResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "getEvidence" }, "patch": { "operationId": "updateDisputeEvidence", "description": "Updates dispute evidence by ID.\n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "evidenceID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DisputeEvidenceResponse" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEvidence" } } } }, "x-speakeasy-name-override": "updateEvidence" }, "delete": { "operationId": "deleteDisputeEvidenceFile", "description": "Deletes dispute evidence by ID. \n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "evidenceID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "deleteEvidence" } }, "/accounts/{accountID}/disputes/{disputeID}/evidence/{evidenceID}/data": { "get": { "operationId": "getDisputeEvidenceData", "description": "Downloads dispute evidence data by ID.\n\nRead our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "disputeID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "evidenceID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/pdf": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } }, "image/tiff": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Disputes" ], "x-speakeasy-name-override": "getEvidenceData" } }, "/accounts/{accountID}/fee-plan-agreements": { "get": { "operationId": "listFeePlanAgreements", "description": "List all fee plan agreements associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "agreementID", "in": "query", "required": false, "description": "A comma-separated list of agreement IDs to filter the results by.", "schema": { "type": "array", "items": { "type": "string" } }, "explode": false }, { "name": "status", "in": "query", "required": false, "description": "A comma-separated list of statuses to filter the results by.", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FeePlanAgreementStatus" } }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FeePlanAgreement" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "x-speakeasy-group": "feePlans", "x-speakeasy-name-override": "list" }, "post": { "operationId": "createFeePlanAgreements", "description": "Creates the subscription of a fee plan to a merchant account. Merchants are required to accept the fee plan terms prior to activation.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeePlanAgreement" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FeePlanAgreementError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateFeePlanAgreement" } } } }, "x-speakeasy-group": "feePlans", "x-speakeasy-name-override": "createAgreements" } }, "/accounts/{accountID}/fee-plans": { "get": { "operationId": "listFeePlans", "description": "List all fee plans available for use by an account. This is intended to be used by an account when \nselecting a fee plan to apply to a connected account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "planIDs", "in": "query", "required": false, "description": "A comma-separated list of plan IDs to filter the results by.", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/uuid" } }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FeePlan" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "x-speakeasy-group": "feePlans", "x-speakeasy-name-override": "listByAccount" } }, "/accounts/{accountID}/fee-revenue": { "get": { "operationId": "listFeeRevenue", "description": "Used by a partner. Retrieve revenue generated from merchant fees.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "description": "The Partner's AccountID.", "schema": { "type": "string" } }, { "name": "transferID", "in": "query", "required": false, "description": "Optional transfer ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "disputeID", "in": "query", "required": false, "description": "Optional dispute ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "residualID", "in": "query", "required": false, "description": "Optional residual ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "startDateTime", "in": "query", "required": false, "description": "Optional date-time to inclusively filter all fees created after this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false }, { "name": "endDateTime", "in": "query", "required": false, "description": "Optional date-time to exclusively filter all fees created before this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IncurredFee" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ] } }, "/accounts/{accountID}/fees": { "get": { "operationId": "retrieveFees", "description": "Retrieve fees assessed to an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "transferID", "in": "query", "required": false, "description": "Optional transfer ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "disputeID", "in": "query", "required": false, "description": "Optional dispute ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "residualID", "in": "query", "required": false, "description": "Optional residual ID to filter the results by.", "schema": { "type": "string" }, "explode": false }, { "name": "startDateTime", "in": "query", "required": false, "description": "Optional date-time to inclusively filter all fees created after this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false }, { "name": "endDateTime", "in": "query", "required": false, "description": "Optional date-time to exclusively filter all fees created before this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IncurredFee" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "x-speakeasy-group": "accounts", "x-speakeasy-name-override": "getFees" } }, "/accounts/{accountID}/fees/.fetch": { "post": { "operationId": "listFeesFetch", "description": "List fees associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IncurredFee" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListFeesFetchRequest" } } } }, "x-speakeasy-group": "feePlans", "x-speakeasy-name-override": "fetchFees" } }, "/accounts/{accountID}/files": { "post": { "operationId": "uploadFile", "description": "Upload a file and link it to the specified Moov account. \n\nThe maximum file size is 20MB. Each account is allowed a maximum of 50 files. Acceptable file types include csv, jpg, pdf, \nand png. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/files.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileDetails" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Files" ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/FileUploadRequestMultiPart" }, "encoding": { "file": { "contentType": "text/csv, image/png, image/jpeg, application/pdf" }, "filePurpose": { "contentType": "text/plain" } } } } }, "x-speakeasy-name-override": "upload" }, "get": { "operationId": "listFiles", "description": "List all the files associated with a particular Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/files.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FileDetails" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Files" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/files/{fileID}": { "get": { "operationId": "getFileDetails", "description": "Retrieve file details associated with a specific Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/files.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "fileID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileDetails" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Files" ], "x-speakeasy-name-override": "getFile", "x-speakeasy-group": "accounts" } }, "/accounts/{accountID}/images": { "get": { "operationId": "listImageMetadata", "description": "List metadata for all images in the specified account.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Skip" }, "explode": false }, { "name": "count", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/Count", "maximum": 200, "default": 20 }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ImageMetadata" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "x-speakeasy-name-override": "list" }, "post": { "operationId": "uploadImage", "description": " Upload a new PNG, JPEG, or WebP image with optional metadata. \n Duplicate images, and requests larger than 16MB will be rejected.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadata" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageRequestValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ImageUploadRequestMultiPart" }, "encoding": { "image": { "contentType": "image/jpeg, image/png, image/webp" }, "metadata": { "contentType": "application/json" } } } } }, "x-speakeasy-name-override": "upload" } }, "/accounts/{accountID}/images/{imageID}": { "get": { "operationId": "getImageMetadata", "description": "Retrieve metadata for a specific image by its ID.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "imageID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadata" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "x-speakeasy-name-override": "getMetadata" }, "put": { "operationId": "updateImage", "description": "Replace an existing image and, optionally, its metadata.\n\nThis endpoint replaces the existing image with the new PNG, JPEG, or WebP. Omit\nthe metadata form section to keep existing metadata. Duplicate images, and requests larger than 16MB will be rejected.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "imageID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadata" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageRequestValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/ImageUploadRequestMultiPart" }, "encoding": { "image": { "contentType": "image/jpeg, image/png, image/webp" }, "metadata": { "contentType": "application/json" } } } } }, "x-speakeasy-name-override": "update" }, "delete": { "operationId": "deleteImage", "description": " Disable an image by its ID.\n \n Disabled images are still be accessible via their public URL, and cannot be assigned\n to products or line-items.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "imageID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "x-speakeasy-name-override": "delete" } }, "/accounts/{accountID}/images/{imageID}/metadata": { "put": { "operationId": "updateImageMetadata", "description": "Replace the metadata for an existing image.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "imageID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadata" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadataValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageMetadataRequest" } } } }, "x-speakeasy-name-override": "updateMetadata" } }, "/accounts/{accountID}/merchant-agreement": { "get": { "operationId": "getMerchantProcessingAgreement", "description": "Retrieve a merchant account's processing agreement.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/pdf": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ], "x-speakeasy-name-override": "getMerchantAgreement" } }, "/accounts/{accountID}/partner-pricing-agreements": { "get": { "operationId": "listPartnerPricingAgreements", "description": "List all partner pricing agreements associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "agreementID", "in": "query", "required": false, "description": "A comma-separated list of agreement IDs to filter the results by.", "schema": { "type": "array", "items": { "type": "string" } }, "explode": false }, { "name": "status", "in": "query", "required": false, "description": "A comma-separated list of statuses to filter the results by.", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FeePlanAgreementStatus" } }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PartnerPricingAgreement" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ], "x-speakeasy-group": "feePlans" } }, "/accounts/{accountID}/payment-links": { "post": { "operationId": "createPaymentLink", "description": "Create a payment link that allows an end user to make a payment on Moov's hosted payment link page.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentLink" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePaymentLinkError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePaymentLink" } } } }, "x-speakeasy-name-override": "create", "x-speakeasy-group": "paymentLinks" }, "get": { "operationId": "listPaymentLinks", "description": "List all the payment links created under a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "$ref": "#/components/parameters/PaymentLinkListFilters.types" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentLink" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "paymentLinks" } }, "/accounts/{accountID}/payment-links/{paymentLinkCode}": { "get": { "operationId": "getPaymentLink", "description": "Retrieve a payment link by code.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } }, { "name": "paymentLinkCode", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/PaymentLinkCode" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentLink" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "paymentLinks" }, "patch": { "operationId": "updatePaymentLink", "description": "Update a payment link.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } }, { "name": "paymentLinkCode", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/PaymentLinkCode" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentLink" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentLinkError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePaymentLink" } } } }, "x-speakeasy-name-override": "update", "x-speakeasy-group": "paymentLinks" }, "delete": { "operationId": "disablePaymentLink", "description": "Disable a payment link.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } }, { "name": "paymentLinkCode", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/PaymentLinkCode" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "x-speakeasy-name-override": "disable", "x-speakeasy-group": "paymentLinks" } }, "/accounts/{accountID}/payment-links/{paymentLinkCode}/qrcode": { "get": { "operationId": "getPaymentLinkQRCode", "description": "Retrieve the payment link encoded in a QR code. \n\nUse the `Accept` header to specify the format of the response. Supported formats are `application/json` and `image/png`.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant account ID.", "schema": { "type": "string" } }, { "name": "paymentLinkCode", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/PaymentLinkCode" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QRCode" } }, "image/png": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment links" ], "x-speakeasy-name-override": "getQrCode", "x-speakeasy-group": "paymentLinks" } }, "/accounts/{accountID}/payment-methods": { "get": { "operationId": "listPaymentMethods", "description": "Retrieve a list of payment methods associated with a Moov account. Read our [payment methods \nguide](https://docs.moov.io/guides/money-movement/payment-methods/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/payment-methods.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "sourceID", "in": "query", "required": false, "description": "Optional parameter to filter the account's payment methods by source ID. \n\nA source ID can be a [walletID](https://docs.moov.io/api/sources/wallets/list/), [cardID](https://docs.moov.io/api/sources/cards/list/), \nor [bankAccountID](https://docs.moov.io/api/sources/bank-accounts/list/).", "schema": { "type": "string" }, "explode": false }, { "name": "paymentMethodType", "in": "query", "required": false, "description": "Optional parameter to filter the account's payment methods by payment method type.", "schema": { "$ref": "#/components/schemas/PaymentMethodType" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PaymentMethod" } }, "example": [ { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "moov-wallet", "wallet": { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917", "walletType": "general" } }, { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "apple-pay", "applePay": { "brand": "Visa", "cardType": "credit", "cardDisplayName": "Visa 1256", "fingerprint": "9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3", "expiration": { "month": "01", "year": "21" }, "dynamicLastFour": "1256", "issuerCountry": "US" } } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment methods" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "paymentMethods" } }, "/accounts/{accountID}/payment-methods/{paymentMethodID}": { "get": { "operationId": "getPaymentMethod", "description": "Get the specified payment method associated with a Moov account. Read our [payment methods guide](https://docs.moov.io/guides/money-movement/payment-methods/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/payment-methods.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "paymentMethodID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/PaymentMethodID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PaymentMethod" }, "example": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "paymentMethodType": "moov-wallet", "wallet": { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917", "walletType": "general" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Payment methods" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "paymentMethods" } }, "/accounts/{accountID}/products": { "get": { "operationId": "listProducts", "description": "List active (non-disabled) products for an account.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "title", "in": "query", "required": false, "description": "Allows filtering products by title. This supports partial matches and is case-insensitive", "schema": { "type": "string" }, "explode": false }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Product" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Products" ], "x-speakeasy-name-override": "list" }, "post": { "operationId": "createProduct", "description": "Creates a new product for the specified account.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Product" }, "example": { "productID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "title": "World's best lemonade", "description": "Really, the best.", "basePrice": { "valueDecimal": "4.99", "currency": "USD" }, "images": [ { "imageID": "fed91252-6f48-4b70-885e-520bf53a52ff", "altText": "A refreshing glass of lemonade", "link": "https://api.moov.io/product-images/k9FzFqsMaot1IPzufEvE0", "publicID": "q7lKWleAy9fUNhEGezQ1g" }, { "imageID": "eb466644-0a58-4b87-af1e-94d03e223ad2", "altText": "Lemonade with strawberries", "link": "https://api.moov.io/product-images/2pMcLHOeDbg85aVaRdqi9", "publicID": "2pMcLHOeDbg85aVaRdqi9" } ], "optionGroups": [ { "name": "Flavor add-ins", "description": "Choose up to 3 flavor add-ins to enhance your lemonade.", "minSelect": 0, "maxSelect": 3, "options": [ { "name": "Strawberry puree", "description": "Fresh and fruity.", "priceModifier": { "valueDecimal": "0.99", "currency": "USD" }, "images": [ { "imageID": "d359808d-9896-4414-8d17-dac43f35842d", "link": "https://api.moov.io/product-images/BGjP7ho9WgICuSQT0HA9Z", "publicID": "BGjP7ho9WgICuSQT0HA9Z" } ] }, { "name": "Passionfruit syrup", "priceModifier": { "valueDecimal": "0.49", "currency": "USD" } }, { "name": "Cherry syrup", "priceModifier": { "valueDecimal": "0.49", "currency": "USD" } } ] }, { "name": "Sweetener", "description": "Choose a sweetener for your lemonade.", "minSelect": 1, "maxSelect": 1, "options": [ { "name": "Cane Sugar" }, { "name": "Honey", "priceModifier": { "valueDecimal": "0.99", "currency": "USD" } }, { "name": "Stevia", "description": "Natural, zero-calorie sweetener." } ] } ], "createdOn": "2025-09-01T00:00:00Z", "updatedOn": "2025-09-02T00:00:00Z" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductRequestValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Products" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductRequest" }, "example": { "title": "World's best lemonade", "description": "Really, the best.", "basePrice": { "valueDecimal": "4.99", "currency": "USD" }, "images": [ { "imageID": "fed91252-6f48-4b70-885e-520bf53a52ff" }, { "imageID": "eb466644-0a58-4b87-af1e-94d03e223ad2" } ], "optionGroups": [ { "name": "Flavor add-ins", "description": "Choose up to 3 flavor add-ins to enhance your lemonade.", "minSelect": 0, "maxSelect": 3, "options": [ { "name": "Strawberry puree", "description": "Fresh and fruity.", "priceModifier": { "valueDecimal": "0.99", "currency": "USD" }, "images": [ { "imageID": "d359808d-9896-4414-8d17-dac43f35842d" } ] }, { "name": "Passionfruit syrup", "priceModifier": { "valueDecimal": "0.49", "currency": "USD" } }, { "name": "Cherry syrup", "priceModifier": { "valueDecimal": "0.49", "currency": "USD" } } ] }, { "name": "Sweetener", "description": "Choose a sweetener for your lemonade.", "minSelect": 1, "maxSelect": 1, "options": [ { "name": "Cane Sugar" }, { "name": "Honey", "priceModifier": { "valueDecimal": "0.99", "currency": "USD" } }, { "name": "Stevia", "description": "Natural, zero-calorie sweetener." } ] } ] } } } }, "x-speakeasy-name-override": "create" } }, "/accounts/{accountID}/products/{productID}": { "get": { "operationId": "getProduct", "description": "Retrieve a product by ID.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "productID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/ProductID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Product" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Products" ], "x-speakeasy-name-override": "get" }, "put": { "operationId": "updateProduct", "description": "Update a product and its options.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "productID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/ProductID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Product" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductRequestValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Products" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProductRequest" } } } }, "x-speakeasy-name-override": "update" }, "delete": { "operationId": "disableProduct", "description": "Disable a product by ID.\n\nThe product will no longer be available, but will remain in the system for historical and reporting purposes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "productID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/ProductID" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Products" ], "x-speakeasy-name-override": "disable" } }, "/accounts/{accountID}/representatives": { "post": { "operationId": "createRepresentative", "description": "Moov accounts associated with businesses require information regarding individuals who represent the business. \nYou can provide this information by creating a representative. Each account is allowed a maximum of 7 representatives. \nRead our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/representatives.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the account.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Representative" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RepresentativeValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Representatives" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRepresentative" } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listRepresentatives", "description": "A Moov account may have multiple representatives depending on the associated business's ownership and management structure. \nYou can use this method to list all the representatives for a given Moov account. \nNote that Moov accounts associated with an individual do not have representatives. \nRead our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/representatives.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the account.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Representative" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Representatives" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/representatives/{representativeID}": { "delete": { "operationId": "deleteRepresentative", "description": "Deletes a business representative associated with a Moov account. Read our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/representatives.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the account.", "schema": { "type": "string" } }, { "name": "representativeID", "in": "path", "required": true, "description": "ID of the representative.", "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Representatives" ], "x-speakeasy-name-override": "delete" }, "get": { "operationId": "getRepresentative", "description": "Retrieve a specific representative associated with a given Moov account. Read our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/representatives.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the account.", "schema": { "type": "string" } }, { "name": "representativeID", "in": "path", "required": true, "description": "ID of the representative.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Representative" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Representatives" ], "x-speakeasy-name-override": "get" }, "patch": { "operationId": "updateRepresentative", "description": "If a representative's information has changed you can patch the information associated with a specific representative ID.\nRead our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.\n\nWhen **can** profile data be updated:\n\n- For unverified representatives, all profile data can be edited.\n- During the verification process, missing or incomplete profile data can be edited.\n- Verified representatives can only add missing profile data.\n\nWhen **can't** profile data be updated:\n\n- Verified representatives cannot change any existing profile data.\n\nIf you need to update information in a locked state, please contact Moov support.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/representatives.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "ID of the account.", "schema": { "type": "string" } }, { "name": "representativeID", "in": "path", "required": true, "description": "ID of the representative.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Representative" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Representatives" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateRepresentative" } } } }, "x-speakeasy-name-override": "update" } }, "/accounts/{accountID}/residuals": { "get": { "operationId": "listResiduals", "description": "List all residuals associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "startDateTime", "in": "query", "required": false, "description": "Optional date-time to inclusively filter all residuals with a period start after this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false }, { "name": "endDateTime", "in": "query", "required": false, "description": "Optional date-time to exclusively filter all residuals with a period end before this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Residual" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ] } }, "/accounts/{accountID}/residuals/{residualID}": { "get": { "operationId": "getResidual", "description": "Get a residual associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "residualID", "in": "path", "required": true, "description": "Unique identifier for this residual payment calculation.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Residual" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ] } }, "/accounts/{accountID}/residuals/{residualID}/fees": { "get": { "operationId": "listResidualFees", "description": "List all fees associated with a residual.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "residualID", "in": "path", "required": true, "description": "Unique identifier for this residual payment calculation.", "schema": { "type": "string" } }, { "name": "startDateTime", "in": "query", "required": false, "description": "Optional date-time to inclusively filter all fees created after this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false }, { "name": "endDateTime", "in": "query", "required": false, "description": "Optional date-time to exclusively filter all fees created before this date-time.", "schema": { "type": "string", "format": "RFC-3339" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IncurredFee" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Fee plans" ] } }, "/accounts/{accountID}/schedules": { "post": { "operationId": "createSchedule", "description": "Describes the schedule to create or modify.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "Account ID of the account that will run the transfer.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleResponse" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertSchedule" } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listSchedules", "description": "Describes a list of schedules associated with an account. Append the `hydrate=accounts` query parameter to include partial account details in the response.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "hydrate", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "accounts" ] }, "explode": false }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ScheduleListResponse" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/schedules/{scheduleID}": { "put": { "operationId": "updateSchedule", "description": "Describes the schedule to modify.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "Account ID of the account that will run the transfer.", "schema": { "type": "string" } }, { "name": "scheduleID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleResponse" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertSchedule" } } } }, "x-speakeasy-name-override": "update" }, "get": { "operationId": "getSchedules", "description": "Describes a schedule associated with an account. Requires at least 1 occurrence or recurTransfer to be specified.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "scheduleID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "x-speakeasy-name-override": "get" }, "delete": { "operationId": "cancelSchedule", "description": "Describes the schedule to cancel.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "Your Moov account ID as the partner running the transfers.", "schema": { "type": "string" } }, { "name": "scheduleID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "x-speakeasy-name-override": "cancel", "x-speakeasy-group": "schedules" } }, "/accounts/{accountID}/schedules/{scheduleID}/occurrences/{occurrenceFilter}": { "get": { "operationId": "getScheduledOccurrence", "description": "Gets a specific occurrence.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "scheduleID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "occurrenceFilter", "in": "path", "required": true, "description": " Allows the specification of additional filters beyond the string.\n\n Specifying a string returns the exact occurrence.\n Specifying a RFC 3339 timestamp returns the latest occurrence at or before that timestamp.\n Specifying `latest` returns the latest occurrence at or before now.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OccurrencesResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Scheduling" ], "x-speakeasy-name-override": "getOccurrence" } }, "/accounts/{accountID}/statements": { "get": { "operationId": "listStatements", "description": "Retrieve all statements associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/StatementListFilters.billingPeriodStartDateTime" }, { "$ref": "#/components/parameters/StatementListFilters.billingPeriodEndDateTime" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Statement" } } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Statements" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/statements/{statementID}": { "get": { "operationId": "getStatement", "description": "Retrieve a statement by its ID.\n\nUse the `Accept` header to specify the format of the response. Supported formats are `application/json` and `application/pdf`.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "statementID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Statement" } }, "application/pdf": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Statements" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/sweep-configs": { "post": { "operationId": "createSweepConfig", "description": "Create a sweep config for a wallet.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SweepConfig" }, "example": { "sweepConfigID": "01234567-89ab-cdef-0123-456789abcdef", "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "pushPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "pullPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "minimumBalance": "0.00", "statementDescriptor": "swp_012345", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSweepConfigError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSweepConfig" }, "example": { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "pushPaymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "pullPaymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" } } } }, "x-speakeasy-name-override": "createConfig" }, "get": { "operationId": "listSweepConfigs", "description": "List sweep configs associated with an account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SweepConfig" } }, "example": [ { "sweepConfigID": "01234567-89ab-cdef-0123-456789abcdef", "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "pushPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "pullPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "minimumBalance": "0.00", "statementDescriptor": "swp_012345", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" }, { "sweepConfigID": "01234567-89ab-cdef-0123-456789abcdef", "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "disabled", "pushPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "pullPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "minimumBalance": "0.00", "statementDescriptor": "swp_012345", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "x-speakeasy-name-override": "listConfigs" } }, "/accounts/{accountID}/sweep-configs/{sweepConfigID}": { "get": { "operationId": "getSweepConfig", "description": "Get a sweep config associated with a wallet.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "sweepConfigID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SweepConfigID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SweepConfig" }, "example": { "sweepConfigID": "01234567-89ab-cdef-0123-456789abcdef", "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "enabled", "pushPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "pullPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "minimumBalance": "0.00", "statementDescriptor": "swp_012345", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "x-speakeasy-name-override": "getConfig" }, "patch": { "operationId": "updateSweepConfig", "description": "Update settings on a sweep config.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/wallets.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "sweepConfigID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SweepConfigID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SweepConfig" }, "example": { "sweepConfigID": "01234567-89ab-cdef-0123-456789abcdef", "walletID": "01234567-89ab-cdef-0123-456789abcdef", "status": "disabled", "pushPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "pullPaymentMethod": { "paymentMethodID": "01234567-89ab-cdef-0123-456789abcdef" }, "minimumBalance": "0.00", "statementDescriptor": "swp_012345", "createdOn": "2024-05-06T12:20:38.184Z", "updatedOn": "2024-05-06T12:20:38.184Z" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchSweepConfigError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchSweepConfig" }, "example": { "status": "disabled" } } } }, "x-speakeasy-name-override": "updateConfig" } }, "/accounts/{accountID}/terminal-applications": { "post": { "operationId": "linkAccountTerminalApplication", "description": "Link an account with a terminal application.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/terminal-applications.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/MerchantAccountID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountTerminalApplication" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountTerminalApplicationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Account Terminal Applications" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkAccountTerminalApplication" } } } }, "x-speakeasy-name-override": "link" }, "get": { "operationId": "listAccountTerminalApplications", "description": "Retrieve all terminal applications linked to a specific account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/terminal-applications.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/MerchantAccountID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AccountTerminalApplication" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Account Terminal Applications" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/terminal-applications/{terminalApplicationID}": { "get": { "operationId": "getAccountTerminalApplication", "description": "Verifies if a specific Terminal Application is linked to an Account. This endpoint acts as a validation check for the link's existence.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/terminal-applications.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/MerchantAccountID" } }, { "name": "terminalApplicationID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/TerminalApplicationID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccountTerminalApplication" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Account Terminal Applications" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/terminal-applications/{terminalApplicationID}/configuration": { "get": { "operationId": "getTerminalConfiguration", "description": "Fetch the configuration for a given Terminal Application linked to a specific Account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/terminal-configuration.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/MerchantAccountID" } }, { "name": "terminalApplicationID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/TerminalApplicationID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalConfiguration" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Account Terminal Applications" ], "x-speakeasy-name-override": "getConfiguration" } }, "/accounts/{accountID}/tickets": { "post": { "operationId": "createTicket", "description": "Create a support ticket for a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/tickets.write` scope.\n\nIf you're creating the ticket on behalf of another account, then you'll need to\nspecify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ticket" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTicketError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Support" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTicket" } } } } }, "get": { "operationId": "listTickets", "description": "List all the support tickets created under a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/tickets.read` scope.\n\nIf you're listing another account's tickets, then you'll need to\nspecify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/CursorPagination.cursor" }, { "$ref": "#/components/parameters/CursorPagination.count" }, { "$ref": "#/components/parameters/TicketListFilters.status" }, { "$ref": "#/components/parameters/TicketListFilters.foreignID" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "object", "required": [ "items" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Ticket" } }, "nextPage": { "$ref": "#/components/schemas/ItemListNextPage" } }, "description": "A paginated list of items. The `nextPage` field is omitted if there are no more pages available." } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Support" ] } }, "/accounts/{accountID}/tickets/{ticketID}": { "get": { "operationId": "getTicket", "description": "Retrieve a support ticket by ID.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/tickets.read` scope.\n\nIf you're retrieving another account's ticket, then you'll need to\nspecify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "ticketID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ticket" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Support" ] }, "patch": { "operationId": "updateTicket", "description": "Updates a support ticket.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/tickets.write` scope.\n\nIf you're updating the ticket on behalf of another account, then you'll need to\nspecify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "ticketID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Ticket" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTicketError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Support" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTicket" } } } } } }, "/accounts/{accountID}/tickets/{ticketID}/messages": { "get": { "operationId": "listTicketMessages", "description": "List all the messages for a support ticket.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/tickets.read` scope.\n\nIf you're listing another account's messages, then you'll need to\nspecify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "ticketID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TicketMessage" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Support" ] } }, "/accounts/{accountID}/transfer-options": { "post": { "operationId": "createTransferOptions", "description": "Generate available payment method options for one or multiple transfer participants depending on the accountID or paymentMethodID you \nsupply in the request body.\n\nThe accountID in the route should the partner's accountID.\n\nRead our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The partner's Moov account ID.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransferOptions" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransferOptionsValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransferOptions" } } } }, "x-speakeasy-name-override": "generateOptions" } }, "/accounts/{accountID}/transfers": { "post": { "operationId": "createTransfer", "description": "Move money by providing the source, destination, and amount in the request body.\n\nRead our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-idempotency-key", "in": "header", "required": true, "description": " Identifies a unique request to create a transfer.\n In order to avoid creating duplicate transfers, the same idempotency key should be reused when retrying a request.", "schema": { "type": "string" } }, { "name": "x-wait-for", "in": "header", "required": false, "description": "Optional header that indicates whether to return a synchronous response that includes full transfer and rail-specific details or an \nasynchronous response indicating the transfer was created (this is the default response if the header is omitted). A timeout will occur after 15 seconds.", "schema": { "$ref": "#/components/schemas/TransferWaitFor" } }, { "name": "accountID", "in": "path", "required": true, "description": "Your Moov account ID.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatedTransfer" }, "examples": { "Created synchronous transfer": { "summary": "Created synchronous transfer", "value": { "transferID": "d835gf30-4b19-4850-a9b2-c0624c41ecb3", "source": { "paymentMethodID": "9506dbf6-4208-44c3-ad8a-e4431660e1f2", "paymentMethodType": "card-payment", "account": { "accountID": "7e4b26c2-b399-49ef-8390-50e1ea44d550", "email": "jules@julesjackson.com", "displayName": "Jules Jackson" }, "card": { "cardID": "aefd5563-93c6-413c-875e-1bd0ebfc116d", "fingerprint": "2f5d782ceef1c3bd31ed5...", "brand": "Visa", "cardType": "credit", "lastFourCardNumber": "2000", "bin": "400020", "expiration": { "month": "01", "year": "28" }, "holderName": "Jules Jackson", "billingAddress": { "postalCode": "80301" }, "domesticPushToCard": "standard", "domesticPullFromCard": "supported", "cardVerification": { "cvv": "unavailable", "addressLine1": "unavailable", "postalCode": "unavailable", "accountName": { "firstName": "unavailable", "lastName": "unavailable", "middleName": "unavailable", "fullName": "unavailable" } }, "issuer": "Moov Visa Sandbox", "issuerCountry": "US", "cardAccountUpdater": {} }, "cardDetails": { "status": "confirmed", "dynamicDescriptor": "WhlBdy *Yoga 11-12", "confirmedOn": "2025-01-21T21:32:16.799681237Z" } }, "destination": { "paymentMethodID": "3f9969cf-a1f3-4d83-8ddc-229a506651cf", "paymentMethodType": "moov-wallet", "account": { "accountID": "34233b72-780c-4a0d-8b08-cbbe23k878f8", "email": "john@wholebodyfitness.io", "displayName": "Whole Body Fitness" }, "wallet": { "walletID": "744b2e78-8cc8-4a6a-af42-611e3b844503", "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917", "walletType": "general" } }, "status": "pending", "amount": { "currency": "USD", "value": 32945 }, "description": "Transfer from card to wallet", "createdOn": "2025-01-21T21:32:16Z" } }, "Created async transfer": { "summary": "Created async transfer", "value": { "transferID": "d835gf30-4b19-4850-a9b2-c0624c41ecb3", "createdOn": "2025-01-21T21:32:16Z" } } } } } }, "201": { "description": "A transfer was successfully created but an error occurred while generating the synchronous response. The asynchronous response object will be returned.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AsyncTransfer" } } } }, "202": { "description": "The transfer was created, but rail-specific details may not be available within the 15 second timeout window.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transfer" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "Attempted to create a transfer using a duplicate X-Idempotency-Key header.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transfer" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransferValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTransfer" } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listTransfers", "description": "List all the transfers associated with a particular Moov account. \n\nRead our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more. \n\nWhen you run this request, you retrieve 200 transfers at a time. You can advance past a results set of 200 transfers by using the `skip` parameter (for example, \nif you set `skip`= 10, you will see a results set of 200 transfers after the first 10). If you are searching a high volume of transfers, the request will likely \nprocess very slowly. To achieve faster performance, restrict the data as much as you can by using the `StartDateTime` and `EndDateTime` parameters for a limited \nperiod of time. You can run multiple requests in smaller time window increments until you've retrieved all the transfers you need.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/TransferListFilters.accountIDs" }, { "$ref": "#/components/parameters/TransferListFilters.status" }, { "$ref": "#/components/parameters/TransferListFilters.startDateTime" }, { "$ref": "#/components/parameters/TransferListFilters.endDateTime" }, { "$ref": "#/components/parameters/TransferListFilters.groupID" }, { "$ref": "#/components/parameters/TransferListFilters.scheduleID" }, { "$ref": "#/components/parameters/TransferListFilters.paymentLinkCode" }, { "$ref": "#/components/parameters/TransferListFilters.refunded" }, { "$ref": "#/components/parameters/TransferListFilters.disputed" }, { "$ref": "#/components/parameters/TransferListFilters.foreignID" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Transfer" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListTransfersValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/transfers/{transferID}": { "get": { "operationId": "getTransfer", "description": "Retrieve full transfer details for an individual transfer of a particular Moov account. \n\nPayment rail-specific details are included in the source and destination. Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) \nto learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transfer" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "x-speakeasy-name-override": "get" }, "patch": { "operationId": "updateTransfer", "description": "Update the metadata contained on a transfer.\n\nRead our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Transfer" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchTransferValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchTransfer" } } } }, "x-speakeasy-name-override": "update" } }, "/accounts/{accountID}/transfers/{transferID}/cancellations": { "post": { "operationId": "createCancellation", "description": " Initiate a cancellation for a card, ACH, or queued transfer.\n \n To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \n to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The partner's Moov account ID.", "schema": { "type": "string" } }, { "name": "transferID", "in": "path", "required": true, "description": "The transfer ID to cancel.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Cancellation" }, "examples": { "Created cancellation": { "summary": "Created cancellation", "value": { "cancellationID": "89ca7f54-13ba-4714-b9af-17163eae2057", "status": "completed", "createdOn": "2025-01-19T03:02:43.255309588Z" } } } } } }, "202": { "description": "Successfully initiated a cancellation but an error occurred while waiting for a synchronous response.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Cancellation" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ] } }, "/accounts/{accountID}/transfers/{transferID}/cancellations/{cancellationID}": { "get": { "operationId": "getCancellation", "description": " Get details of a cancellation for a transfer.\n \n To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \n to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "Moov account ID of the partner or transfer's source or destination.", "schema": { "type": "string" } }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } }, { "name": "cancellationID", "in": "path", "required": true, "description": "Identifier for the cancellation.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Cancellation" }, "examples": { "Cancellation": { "summary": "Cancellation", "value": { "cancellationID": "89ca7f54-13ba-4714-b9af-17163eae2057", "status": "completed", "createdOn": "2025-01-19T03:02:43.255309588Z" } } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ] } }, "/accounts/{accountID}/transfers/{transferID}/refunds": { "post": { "operationId": "initiateRefund", "description": "Initiate a refund for a card transfer.\n\n**Use the [Cancel or refund a card transfer](https://docs.moov.io/api/money-movement/refunds/cancel/) endpoint for more comprehensive cancel and refund options.** \nSee the [reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) guide for more information. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-idempotency-key", "in": "header", "required": true, "description": "Prevents duplicate refunds from being created.", "schema": { "type": "string" } }, { "name": "x-wait-for", "in": "header", "required": false, "description": "Optional header that indicates whether to return a synchronous response that includes full transfer and rail-specific details or an \nasynchronous response indicating the transfer was created (this is the default response if the header is omitted). A timeout will occur after 15 seconds.", "schema": { "$ref": "#/components/schemas/TransferWaitFor" } }, { "name": "accountID", "in": "path", "required": true, "description": "The merchant's Moov account ID.", "schema": { "type": "string" } }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRefundResponse" }, "examples": { "Successful async refund": { "summary": "Successful async refund", "value": { "refundID": "d4963079-5b35-4d17-981e-8f851753f786", "createdOn": "2023-09-09T14:15:22Z", "amount": { "currency": "USD", "value": 1204 } } }, "Successful sync refund": { "summary": "Successful sync refund", "value": { "refundID": "d4963079-5b35-4d17-981e-8f851753f786", "createdOn": "2023-09-09T14:15:22Z", "updatedOn": "2023-09-09T14:17:41Z", "status": "pending", "amount": { "currency": "USD", "value": 1204 }, "cardDetails": { "status": "confirmed", "initiatedOn": "2023-09-09T14:16:22Z", "confirmedOn": "2023-09-09T14:17:41Z" } } } } } } }, "202": { "description": "A refund was successfully created but an error occurred while waiting for a synchronous response.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardAcquiringRefund" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "Attempted to create a refund using a duplicate X-Idempotency-Key header.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardAcquiringRefund" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RefundValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateRefund" } } } } }, "get": { "operationId": "listRefunds", "description": "Get a list of refunds for a card transfer.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CardAcquiringRefund" } }, "example": [ { "refundID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", "amount": { "currency": "USD", "value": 1204 }, "cardDetails": { "completedOn": "2024-08-24T14:15:22Z", "confirmedOn": "2024-08-24T14:15:22Z", "initiatedOn": "2024-08-24T14:15:22Z", "settledOn": "2024-08-24T14:15:22Z", "status": "completed" }, "createdOn": "2024-08-24T14:15:22Z", "status": "completed", "updatedOn": "2024-08-24T14:15:22Z" } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ] } }, "/accounts/{accountID}/transfers/{transferID}/refunds/{refundID}": { "get": { "operationId": "getRefund", "description": "Get details of a refund for a card transfer.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "transferID", "in": "path", "required": true, "description": "Identifier for the transfer.", "schema": { "type": "string" } }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "refundID", "in": "path", "required": true, "description": "Identifier for the refund.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CardAcquiringRefund" }, "example": { "refundID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43", "amount": { "currency": "USD", "value": 1204 }, "cardDetails": { "completedOn": "2024-08-24T14:15:22Z", "confirmedOn": "2024-08-24T14:15:22Z", "initiatedOn": "2024-08-24T14:15:22Z", "settledOn": "2024-08-24T14:15:22Z", "status": "completed" }, "createdOn": "2024-08-24T14:15:22Z", "status": "completed", "updatedOn": "2024-08-24T14:15:22Z" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ] } }, "/accounts/{accountID}/transfers/{transferID}/reversals": { "post": { "operationId": "createReversal", "description": "Reverses a card transfer by initiating a cancellation or refund depending on the transaction status. \nRead our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) \nto learn more.\n\nTo access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need \nto specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "x-idempotency-key", "in": "header", "required": true, "description": "Prevents duplicate reversals from being created.", "schema": { "type": "string" } }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov account ID.", "schema": { "type": "string" } }, { "name": "transferID", "in": "path", "required": true, "description": "The transfer ID to reverse.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successfully initiated a reversal.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Reversal" }, "examples": { "Reversed by refund": { "summary": "Reversed by refund", "value": { "refund": { "refundID": "89ca7f54-13ba-4714-b9af-17163eae2057", "createdOn": "2025-01-19T03:07:26.001024809Z", "updatedOn": "2025-01-19T03:07:26.602114307Z", "status": "pending", "amount": { "currency": "USD", "value": 1938 }, "cardDetails": { "status": "confirmed", "confirmedOn": "2025-01-19T03:07:26.602114307Z" } } } }, "Reversed by cancellation": { "summary": "Reversed by cancellation", "value": { "cancellation": { "cancellationID": "89ca7f54-13ba-4714-b9af-17163eae2057", "status": "completed", "createdOn": "2025-01-19T03:02:43.255309588Z" } } } } } } }, "202": { "description": "Successfully initiated a reversal but an error occurred while waiting for a synchronous response.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Reversal" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReversalValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Transfers" ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateReversal" } } } } } }, "/accounts/{accountID}/underwriting": { "get": { "operationId": "getUnderwriting", "description": "Retrieve underwriting associated with a given Moov account. \n\nRead our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Underwriting" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Underwriting" ], "x-speakeasy-name-override": "get" }, "post": { "operationId": "saveUnderwriting", "description": "Create or update the account's underwriting.\n\nRead our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Underwriting" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertUnderwritingError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Underwriting" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertUnderwriting" } } } }, "x-speakeasy-name-override": "save" }, "put": { "operationId": "upsertUnderwriting", "description": "Create or update the account's underwriting.\n\nRead our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/profile.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Underwriting" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUnderwritingError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Underwriting" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateUnderwriting" } } } }, "x-speakeasy-name-override": "upsert" } }, "/accounts/{accountID}/wallets": { "post": { "operationId": "createWallet", "description": "Create a new wallet for an account. You can specify optional attributes such as a display name and description to specify the intended use of the wallet. This will generate a new moov-wallet payment method.\n\nRead our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov account ID the wallet belongs to.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Wallet" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWalletValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallets" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWallet" } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listWallets", "description": "List the wallets associated with a Moov account. \n\nRead our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/WalletListFilters.status" }, { "$ref": "#/components/parameters/WalletListFilters.walletType" }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Wallet" } }, "example": [ { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "availableBalance": { "currency": "USD", "value": 1234, "valueDecimal": "12.34" }, "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917", "name": "My Wallet", "status": "active", "walletType": "general", "description": "For payments", "createdOn": "2025-01-21T21:32:16Z" } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListWalletsValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallets" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/wallets/{walletID}": { "get": { "operationId": "getWallet", "description": "Get information on a specific wallet (e.g., the available balance). \n\nRead our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "walletID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/WalletID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Wallet" }, "example": { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "availableBalance": { "currency": "USD", "value": 1234, "valueDecimal": "12.34" }, "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917", "name": "My Wallet", "status": "active", "walletType": "general", "description": "For payments", "createdOn": "2025-01-21T21:32:16Z" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallets" ], "x-speakeasy-name-override": "get" }, "patch": { "operationId": "updateWallet", "description": "Update properties of an existing wallet such as name, description, status, or metadata.\n\nRead our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/wallets.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "walletID", "in": "path", "required": true, "description": "Identifier for the wallet.", "schema": { "$ref": "#/components/schemas/WalletID" } }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov account ID the wallet belongs to.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Wallet" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchWalletValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallets" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchWallet" } } } }, "x-speakeasy-name-override": "update" } }, "/accounts/{accountID}/wallets/{walletID}/sweeps": { "get": { "operationId": "listSweeps", "description": "List sweeps associated with a wallet.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "walletID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/WalletID" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "status", "in": "query", "required": false, "description": "Optional parameter to filter by sweep status.", "schema": { "$ref": "#/components/schemas/SweepStatus" }, "explode": false }, { "name": "statementDescriptor", "in": "query", "required": false, "description": "Optional string to filter by statement descriptor.", "schema": { "$ref": "#/components/schemas/SweepStatementDescriptor" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Sweep" } }, "example": [ { "accruedAmount": "100.00", "accrualStartedOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "status": "accruing", "sweepID": "01234567-89ab-cdef-0123-456789abcdef", "subtotals": [ { "type": "moov-fee", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } }, { "type": "account-funding", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } } ] } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "x-speakeasy-name-override": "list" } }, "/accounts/{accountID}/wallets/{walletID}/sweeps/{sweepID}": { "get": { "operationId": "getSweep", "description": "Get details on a specific sweep.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "walletID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/WalletID" } }, { "name": "sweepID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/SweepID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Sweep" }, "examples": { "Paid sweep": { "summary": "Paid sweep", "value": { "accruedAmount": "100.00", "accrualStartedOn": "2024-05-06T12:20:38.184Z", "accrualEndedOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "pushPaymentMethodID": "01234567-89ab-cdef-0123-456789abcdef", "residualBalance": "0.00", "statementDescriptor": "swp_012345", "status": "paid", "sweepID": "01234567-89ab-cdef-0123-456789abcdef", "transferAmount": "12.98", "transferID": "01234567-89ab-cdef-0123-456789abcdef", "subtotals": [ { "type": "moov-fee", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } }, { "type": "account-funding", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } } ] } }, "Accrued sweep": { "summary": "Accrued sweep", "value": { "accruedAmount": "100.00", "accrualStartedOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "status": "accruing", "sweepID": "01234567-89ab-cdef-0123-456789abcdef", "subtotals": [ { "type": "moov-fee", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } }, { "type": "account-funding", "count": 1, "amount": { "valueDecimal": "50.00", "currency": "USD" } } ] } } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Sweeps" ], "x-speakeasy-name-override": "get" } }, "/accounts/{accountID}/wallets/{walletID}/transactions": { "get": { "operationId": "listWalletTransactions", "description": "List all the transactions associated with a particular Moov wallet. \n\nRead our [wallet transactions guide](https://docs.moov.io/guides/sources/wallets/transactions/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "$ref": "#/components/parameters/ListTransactionsQuery.walletID" }, { "$ref": "#/components/parameters/ListTransactionsQuery.transactionType" }, { "$ref": "#/components/parameters/ListTransactionsQuery.transactionTypes" }, { "$ref": "#/components/parameters/ListTransactionsQuery.sourceType" }, { "$ref": "#/components/parameters/ListTransactionsQuery.sourceID" }, { "$ref": "#/components/parameters/ListTransactionsQuery.status" }, { "$ref": "#/components/parameters/ListTransactionsQuery.createdStartDateTime" }, { "$ref": "#/components/parameters/ListTransactionsQuery.createdEndDateTime" }, { "$ref": "#/components/parameters/ListTransactionsQuery.completedStartDateTime" }, { "$ref": "#/components/parameters/ListTransactionsQuery.completedEndDateTime" }, { "$ref": "#/components/parameters/ListTransactionsQuery.sweepID" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WalletTransaction" } }, "example": [ { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "transactionID": "01234567-89ab-cdef-0123-456789abcdef", "transactionType": "card-payment", "sourceType": "transfer", "sourceID": "01234567-89ab-cdef-0123-456789abcdef", "status": "completed", "memo": "An example completed card payment", "createdOn": "2024-05-06T12:20:38.184Z", "completedOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "grossAmount": 2000, "grossAmountDecimal": "20.00", "fee": 30, "feeDecimal": "0.30", "netAmount": 1970, "netAmountDecimal": "19.70", "availableBalance": 10000, "availableBalanceDecimal": "100.00" }, { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "transactionID": "01234567-89ab-cdef-0123-456789abcdef", "transactionType": "card-payment", "sourceType": "transfer", "sourceID": "01234567-89ab-cdef-0123-456789abcdef", "status": "pending", "memo": "An example pending card payment", "createdOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "grossAmount": 2000, "grossAmountDecimal": "20.00", "fee": 30, "feeDecimal": "0.30", "netAmount": 1970, "netAmountDecimal": "19.70" } ] } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListWalletTransactionsValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallet transactions" ], "x-speakeasy-name-override": "listTransactions", "x-speakeasy-group": "wallets" } }, "/accounts/{accountID}/wallets/{walletID}/transactions/{transactionID}": { "get": { "operationId": "getWalletTransaction", "description": "Get details on a specific wallet transaction. \n\nRead our [wallet transactions guide](https://docs.moov.io/guides/sources/wallets/transactions/) to learn more.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/wallets.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "walletID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/WalletID" } }, { "name": "transactionID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/WalletTransactionID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WalletTransaction" }, "example": { "walletID": "01234567-89ab-cdef-0123-456789abcdef", "transactionID": "01234567-89ab-cdef-0123-456789abcdef", "transactionType": "card-payment", "sourceType": "transfer", "sourceID": "01234567-89ab-cdef-0123-456789abcdef", "status": "completed", "memo": "An example completed card payment", "createdOn": "2024-05-06T12:20:38.184Z", "completedOn": "2024-05-06T12:20:38.184Z", "currency": "USD", "grossAmount": 2000, "grossAmountDecimal": "20.00", "fee": 30, "feeDecimal": "0.30", "netAmount": 1970, "netAmountDecimal": "19.70", "availableBalance": 10000, "availableBalanceDecimal": "100.00" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Wallet transactions" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "walletTransactions" } }, "/avatars/{uniqueID}": { "get": { "operationId": "getAvatar", "description": "Get avatar image for an account using a unique ID. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/profile-enrichment.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "uniqueID", "in": "path", "required": true, "description": "Any unique ID associated with an account such as accountID, representativeID, routing number, or userID.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request has succeeded.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "image/*": { "schema": { "type": "string", "format": "binary" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Avatars" ], "x-speakeasy-name-override": "get" } }, "/debug/end-to-end-token": { "post": { "operationId": "testEndToEndToken", "description": "Allows for testing a JWE token to ensure it's acceptable by Moov. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/ping.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "End to End Encryption" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/E2EEToken" } } } }, "x-speakeasy-name-override": "testToken", "x-speakeasy-group": "endToEndEncryption" } }, "/end-to-end-keys": { "post": { "operationId": "generateEndToEndKey", "description": "Generates a public key used to create a JWE token for passing secure authentication data through non-PCI compliant intermediaries.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JSONWebKey" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "End to End Encryption" ], "x-speakeasy-name-override": "generateKey", "x-speakeasy-group": "endToEndEncryption" } }, "/enrichment/address": { "get": { "operationId": "getEnrichmentAddress", "description": "Fetch enriched address suggestions. Requires a partial address. \n \nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/profile-enrichment.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.search" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.maxResults" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.includeCities" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.includeStates" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.includeZipcodes" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.excludeStates" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.preferCities" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.preferStates" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.preferZipcodes" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.preferRatio" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.preferGeolocation" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.selected" }, { "$ref": "#/components/parameters/EnrichedAddressFilters.source" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnrichedAddressResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Enriched address" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "enrichment.address" } }, "/enrichment/profile": { "get": { "operationId": "getEnrichmentProfile", "description": "Fetch enriched profile data. Requires a valid email address. This service is offered in collaboration with Clearbit. \n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/profile-enrichment.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "email", "in": "query", "required": true, "schema": { "type": "string" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnrichedBusinessResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Enriched profile" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "enrichedProfile" } }, "/event-types": { "get": { "operationId": "listEventTypes", "description": "List all available event types that can be subscribed to.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/EventType" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "listEventTypes" } }, "/images/{publicID}": { "get": { "operationId": "getPublicImage", "description": "Get an image by its public ID.", "parameters": [ { "name": "if-none-match", "in": "header", "required": false, "schema": { "type": "string" } }, { "name": "publicID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/ImagePublicID" } }, { "name": "size", "in": "query", "required": false, "description": "Optional parameter to request a resized version of the image (WxH).\n\nIf either dimension is 0, the image will be scaled proportionally based on\nthe non-zero dimension. Dimensions are capped at 2048 pixels. A default size\nof 400x400 will be used if this parameter is omitted.", "schema": { "type": "string", "default": "400x400" }, "explode": false } ], "responses": { "200": { "description": "Response body for returning the raw image bytes.", "headers": { "Cache-Control": { "required": true, "schema": { "type": "string" } }, "Etag": { "required": false, "schema": { "type": "string" } } }, "content": { "image/webp": { "schema": { "type": "string", "format": "binary" } }, "image/png": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } } }, "304": { "description": "The resource has not changed; client may use its cached representation.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } }, "Etag": { "required": false, "schema": { "type": "string" } }, "Cache-Control": { "required": false, "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "502": { "description": "The request failed because a downstream service returned an invalid response.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "503": { "description": "The request failed because a downstream service is unavailable.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Images" ], "security": [ {} ], "x-speakeasy-name-override": "getPublic" } }, "/industries": { "get": { "operationId": "listIndustries", "description": "Returns a list of industries relevant to merchant profile enrichment. Results are ordered by industry name.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/),\nyou'll need to specify the `/profile-enrichment.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EnrichedIndustries" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Industries" ], "x-speakeasy-name-override": "list" } }, "/institutions": { "get": { "operationId": "searchInstitutions", "description": "Search for financial institutions by name or routing number.\n\nThis endpoint returns metadata about each matched institution, including basic identifying details (such as name, routing number, and address) and information about which payment services they support (e.g., ACH, RTP, and Wire).\n\nThis can be used to validate a financial institution before initiating payment activity, or to check which payment rails are available for a given routing number.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/institutions.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/InstitutionSearchFilters.name" }, { "$ref": "#/components/parameters/InstitutionSearchFilters.routingNumber" }, { "$ref": "#/components/parameters/InstitutionSearchFilters.limit" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InstitutionsSearchResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Institutions" ] } }, "/institutions/ach/search": { "get": { "operationId": "listInstitutions", "description": "This endpoint has been deprecated and will be removed in a future release. Use [/institutions](https://docs.moov.io/api/enrichment/form-shortening/institutions/get/).\n\nSearch for institutions by either their name or routing number.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/fed.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "$ref": "#/components/parameters/InstitutionsFilters.name" }, { "$ref": "#/components/parameters/InstitutionsFilters.routingNumber" }, { "$ref": "#/components/parameters/InstitutionsFilters.state" }, { "$ref": "#/components/parameters/InstitutionsFilters.limit" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FinancialInstitutions" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Institutions" ], "deprecated": true, "x-speakeasy-name-override": "search" } }, "/issuing/{accountID}/authorizations": { "get": { "operationId": "listIssuedCardAuthorizations", "description": "List issued card authorizations associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which cards have been issued.", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "$ref": "#/components/parameters/ListIssuingAuthorizationsQuery.issuedCardID" }, { "$ref": "#/components/parameters/ListIssuingAuthorizationsQuery.startDateTime" }, { "$ref": "#/components/parameters/ListIssuingAuthorizationsQuery.endDateTime" }, { "$ref": "#/components/parameters/ListIssuingAuthorizationsQuery.statuses" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IssuedCardAuthorization" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Issuing transactions" ], "x-speakeasy-name-override": "listAuthorizations", "x-speakeasy-group": "issuingTransactions" } }, "/issuing/{accountID}/authorizations/{authorizationID}": { "get": { "operationId": "getIssuedCardAuthorization", "description": "Retrieves details of an authorization associated with a specific Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which cards have been issued.", "schema": { "type": "string" } }, { "name": "authorizationID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IssuedCardAuthorization" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Issuing transactions" ], "x-speakeasy-name-override": "getAuthorization", "x-speakeasy-group": "issuingTransactions" } }, "/issuing/{accountID}/authorizations/{authorizationID}/events": { "get": { "operationId": "listIssuedCardAuthorizationEvents", "description": "List card network and Moov platform events that affect the authorization and its hold on a wallet balance.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which cards have been issued.", "schema": { "type": "string" } }, { "name": "authorizationID", "in": "path", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IssuedCardAuthorizationEvent" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Issuing transactions" ], "x-speakeasy-name-override": "listAuthorizationEvents", "x-speakeasy-group": "issuingTransactions" } }, "/issuing/{accountID}/card-transactions": { "get": { "operationId": "listIssuedCardTransactions", "description": "List issued card transactions associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which cards have been issued.", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "$ref": "#/components/parameters/ListIssuingTransactionsQuery.issuedCardID" }, { "$ref": "#/components/parameters/ListIssuingTransactionsQuery.startDateTime" }, { "$ref": "#/components/parameters/ListIssuingTransactionsQuery.endDateTime" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IssuedCardTransaction" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Issuing transactions" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "issuingTransactions" } }, "/issuing/{accountID}/card-transactions/{cardTransactionID}": { "get": { "operationId": "getIssuedCardTransaction", "description": "Retrieves details of an issued card transaction associated with a specific Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which cards have been issued.", "schema": { "type": "string" } }, { "name": "cardTransactionID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IssuedCardTransaction" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Issuing transactions" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "transactions" } }, "/issuing/{accountID}/issued-cards": { "post": { "operationId": "requestCard", "description": "Request a virtual card be issued.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which the card is to be issued.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IssuedCard" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestCardError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Card issuing" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestCard" } } } }, "x-speakeasy-name-override": "request", "x-speakeasy-group": "cardIssuing" }, "get": { "operationId": "listIssuedCards", "description": "List Moov issued cards existing for the account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which the cards have been issued.", "schema": { "type": "string" } }, { "$ref": "#/components/parameters/Pagination.skip" }, { "$ref": "#/components/parameters/Pagination.count" }, { "name": "states", "in": "query", "required": false, "description": "Optional, comma-separated states to filter the Moov list issued cards response. For example `active,pending-verification`", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IssuedCardState" } }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/IssuedCard" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Card issuing" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "issuedCards" } }, "/issuing/{accountID}/issued-cards/{issuedCardID}": { "get": { "operationId": "getIssuedCard", "description": "Retrieve a single issued card associated with a Moov account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which the card was issued.", "schema": { "type": "string" } }, { "name": "issuedCardID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IssuedCard" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Card issuing" ], "x-speakeasy-name-override": "getIssuedCard", "x-speakeasy-group": "cardIssuing" }, "patch": { "operationId": "updateIssuedCard", "description": "Update a Moov issued card.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)\nyou'll need to specify the `/accounts/{accountID}/issued-cards.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which the card was issued.", "schema": { "type": "string" } }, { "name": "issuedCardID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateIssuedCardError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Card issuing" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateIssuedCard" } } } }, "x-speakeasy-name-override": "update", "x-speakeasy-group": "cardIssuing" } }, "/issuing/{accountID}/issued-cards/{issuedCardID}/details": { "get": { "operationId": "getFullIssuedCard", "description": "Get issued card with PAN, CVV, and expiration. \n\nOnly use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/issued-cards.read-secure` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "accountID", "in": "path", "required": true, "description": "The Moov business account for which the card was issued.", "schema": { "type": "string" } }, { "name": "issuedCardID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FullIssuedCard" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Card issuing" ], "x-speakeasy-name-override": "getFull", "x-speakeasy-group": "cardIssuing" } }, "/oauth2/revoke": { "post": { "operationId": "revokeAccessToken", "description": "Revoke an auth token.\n\nAllows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokeTokenRequestError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Authentication" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RevokeTokenRequest" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/RevokeTokenRequest" } } } }, "x-speakeasy-name-override": "revokeToken" } }, "/oauth2/token": { "post": { "operationId": "createAccessToken", "description": "Create or refresh an access token.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthToken" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenRequestError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Authentication" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthTokenRequest" } }, "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/AuthTokenRequest" } } } }, "x-speakeasy-name-override": "createToken" } }, "/onboarding-invites": { "post": { "operationId": "createOnboardingInvite", "description": "Create an invitation containing a unique link that allows the recipient to onboard their organization with Moov.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingInvite" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingInviteError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Onboarding" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingInviteRequest" } } } }, "x-speakeasy-name-override": "create", "x-speakeasy-group": "onboardingInvites" }, "get": { "operationId": "listOnboardingInvites", "description": "List all the onboarding invites created by the caller's account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OnboardingInvite" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Onboarding" ], "x-speakeasy-name-override": "listInvites" } }, "/onboarding-invites/{code}": { "get": { "operationId": "getOnboardingInvite", "description": "Retrieve details about an onboarding invite.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "code", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/OnboardingInviteCode" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OnboardingInvite" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Onboarding" ], "x-speakeasy-name-override": "getInvite" }, "delete": { "operationId": "revokeOnboardingInvite", "description": "Revoke an onboarding invite, rendering the invitation link unusable.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "code", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/OnboardingInviteCode" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Onboarding" ], "x-speakeasy-name-override": "revokeInvite" } }, "/ping": { "get": { "operationId": "ping", "description": "A simple endpoint to check auth.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/ping.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "Successfully able to hit the ping endpoint.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Ping" ], "x-speakeasy-name-override": "get" } }, "/receipts": { "post": { "operationId": "createReceipts", "description": " Create receipts for transfers and scheduled transfers.\n\n To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \n you'll need to specify the `/accounts/{accountID}/transfers.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReceiptResponse" } } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReceiptValidationErrorResponse" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Receipts" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReceiptRequest" } } } } }, "x-speakeasy-name-override": "create" }, "get": { "operationId": "listReceipts", "description": "List receipts by transferID, scheduleID, or occurrenceID.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/accounts/{accountID}/transfers.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "id", "in": "query", "required": true, "description": "The transfer, schedule, or transfer occurrence ID to filter receipts by.", "schema": { "type": "string" }, "explode": false } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReceiptResponse" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Receipts" ], "x-speakeasy-name-override": "list" } }, "/terminal-applications": { "post": { "operationId": "createTerminalApplication", "description": "Create a new terminal application.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/terminal-applications.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplication" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplicationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Terminal Applications" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTerminalApplication" } } } }, "x-speakeasy-name-override": "create", "x-speakeasy-group": "terminalApplications" }, "get": { "operationId": "listTerminalApplications", "description": "List all the terminal applications for a Moov Account.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/terminal-applications.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TerminalApplication" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Terminal Applications" ], "x-speakeasy-name-override": "list", "x-speakeasy-group": "terminalApplications" } }, "/terminal-applications/{terminalApplicationID}": { "get": { "operationId": "getTerminalApplication", "description": "Fetch a specific terminal application.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/terminal-applications.read` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "terminalApplicationID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/TerminalApplicationID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplication" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Terminal Applications" ], "x-speakeasy-name-override": "get", "x-speakeasy-group": "terminalApplications" }, "delete": { "operationId": "deleteTerminalApplication", "description": "Delete a specific terminal application.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/terminal-applications.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "terminalApplicationID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/TerminalApplicationID" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Terminal Applications" ], "x-speakeasy-name-override": "delete", "x-speakeasy-group": "terminalApplications" } }, "/terminal-applications/{terminalApplicationID}/versions": { "post": { "operationId": "createTerminalApplicationVersion", "description": "Register a new version of a terminal application. For Android applications, this is used to register a new version code of the application.\n\nTo access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) \nyou'll need to specify the `/terminal-applications.write` scope.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "terminalApplicationID", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/TerminalApplicationID" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplicationVersion" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplicationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Terminal Applications" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TerminalApplicationVersion" } } } }, "x-speakeasy-name-override": "createVersion" } }, "/tos-token": { "get": { "operationId": "getTermsOfServiceToken", "description": "Generates a non-expiring token that can then be used to accept Moov's terms of service. \n\nThis token can only be generated via API. Any Moov account requesting the collect funds, send funds, wallet, \nor card issuing capabilities must accept Moov's terms of service, then have the generated terms of service \ntoken patched to the account. Read more in our [documentation](https://docs.moov.io/guides/accounts/requirements/platform-agreement/).", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "origin", "in": "header", "required": false, "description": "Indicates the domain from which the request originated. Required if referer header is not present.", "schema": { "type": "string" } }, { "name": "referer", "in": "header", "required": false, "description": "Specifies the URL of the resource from which the request originated. Required if origin header is not present.", "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TermsOfServiceToken" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Accounts" ] } }, "/webhooks": { "get": { "operationId": "listWebhooks", "description": "List all webhooks configured for the account.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Webhook" } } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "list" }, "post": { "operationId": "createWebhook", "description": "Create a new webhook for the account.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" } ], "responses": { "201": { "description": "The resource was successfully created.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Webhook" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhook" } } } }, "x-speakeasy-name-override": "create" } }, "/webhooks/{webhookID}": { "get": { "operationId": "getWebhook", "description": "Get details of a specific webhook.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "webhookID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Webhook" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "get" }, "put": { "operationId": "updateWebhook", "description": "Update an existing webhook.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "webhookID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Webhook" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "422": { "description": "The request was well-formed, but the contents failed validation. Check the request for missing or invalid fields.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookValidationError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhook" } } } }, "x-speakeasy-name-override": "update" }, "delete": { "operationId": "disableWebhook", "description": "Disable a webhook. Disabled webhooks will no longer receive events.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "webhookID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "The request completed successfully, but there is no content to return.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "400": { "description": "The server could not understand the request due to invalid syntax.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "409": { "description": "The request conflicted with the current state of the target resource.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenericError" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "disable" } }, "/webhooks/{webhookID}/ping": { "post": { "operationId": "pingWebhook", "description": "Send a test ping to a webhook to verify it is configured correctly.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "webhookID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PingResponse" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "ping" } }, "/webhooks/{webhookID}/secret": { "get": { "operationId": "getWebhookSecret", "description": "Get the secret key for verifying webhook payloads.", "parameters": [ { "$ref": "#/components/parameters/VersionHeader" }, { "name": "webhookID", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "The request completed successfully.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookSecret" } } } }, "401": { "description": "The request contained missing or expired authentication.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "403": { "description": "The user is not authorized to make the request.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "404": { "description": "The requested resource was not found.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "429": { "description": "Request was refused due to rate limiting.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "500": { "description": "The request failed due to an unexpected error.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } }, "504": { "description": "The request failed because a downstream service failed to respond.", "headers": { "x-request-id": { "required": true, "description": "A unique identifier used to trace requests.", "schema": { "type": "string" } } } } }, "tags": [ "Webhooks" ], "x-speakeasy-name-override": "getSecret" } } }, "security": [ { "BasicAuth": [] } ], "components": { "parameters": { "AccountsQuery.capability": { "name": "capability", "in": "query", "required": false, "description": " Filter connected accounts by the capability.", "schema": { "$ref": "#/components/schemas/CapabilityID" }, "explode": false }, "AccountsQuery.capabilityStatus": { "name": "capabilityStatus", "in": "query", "required": false, "description": " Filter connected accounts by the capability.", "schema": { "$ref": "#/components/schemas/CapabilityStatus" }, "explode": false }, "AccountsQuery.email": { "name": "email", "in": "query", "required": false, "description": " Filter connected accounts by email address.\n\n Provide the full email address to filter by email.", "schema": { "type": "string" }, "explode": false }, "AccountsQuery.foreignID": { "name": "foreignID", "in": "query", "required": false, "description": " Serves as an optional alias from a foreign/external system which can be used to reference this resource.", "schema": { "type": "string", "pattern": "[a-zA-Z0-9,.\\/?:'\"|~!@#$%^&*()+_= -]+" }, "explode": false }, "AccountsQuery.includeDisconnected": { "name": "includeDisconnected", "in": "query", "required": false, "description": "Filter disconnected accounts.\n\nIf true, the response will include disconnected accounts.", "schema": { "type": "boolean" }, "explode": false }, "AccountsQuery.name": { "name": "name", "in": "query", "required": false, "description": "Filter connected accounts by name.\n\nIf provided, this query will attempt to find matches against the following Account and Profile fields:\n