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.
    The Moov API makes it simple for platforms to send, receive, and store money. Our API is based upon REST
    principles, returns JSON responses, and uses standard HTTP response codes. To learn more about how Moov
    works at a high level, read our [concepts](https://docs.moov.io/guides/get-started/glossary/) guide.
  version: v2025.07.00
servers:
  - url: https://api.moov.io
    description: Production API host
    variables: {}
security:
  - BasicAuth: []
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: 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
paths:
  /accounts:
    post:
      operationId: createAccount
      description: |-
        You can create **business** or **individual** accounts for your users (i.e., customers, merchants) by passing the required
        information to Moov. Requirements differ per account type and requested [capabilities](https://docs.moov.io/guides/accounts/capabilities/requirements/).

        If you're requesting the `wallet`, `send-funds`, `collect-funds`, or `card-issuing` capabilities, you'll need to:
          + Send Moov the user [platform terms of service agreement](https://docs.moov.io/guides/accounts/requirements/platform-agreement/) acceptance.
            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.
        If you're creating a business account with the business type `llc`, `partnership`, or `privateCorporation`, you'll need to:
          + Provide [business representatives](https://docs.moov.io/api/moov-accounts/representatives/) after creating the account.
          + [Patch](https://docs.moov.io/api/moov-accounts/accounts/patch/) the account to indicate that business representative ownership information is complete.

        Visit 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/).
        Note 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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
        to specify the `/accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - mode
                  - accountType
                  - displayName
                  - profile
                  - verification
                  - createdOn
                  - updatedOn
                properties:
                  accountID:
                    type: string
                    format: uuid
                    description: Unique identifier for this account.
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  accountType:
                    type: string
                    enum:
                      - individual
                      - business
                      - guest
                    description: The type of entity represented by this account.
                    example: business
                  displayName:
                    type: string
                    maxLength: 64
                    example: Whole Body Fitness
                  profile:
                    type: object
                    properties:
                      individual:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: object
                            required:
                              - firstName
                              - lastName
                            properties:
                              firstName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's first given name.
                                example: Jordan
                              middleName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's second given name, if any.
                                example: Reese
                              lastName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's family name.
                                example: Lee
                              suffix:
                                type: string
                                maxLength: 20
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: Suffix of a given name.
                                example: Jr
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          birthDateProvided:
                            type: boolean
                            description: Indicates whether this individual's birth date has been provided.
                          governmentIDProvided:
                            type: boolean
                            description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
                        description: Describes an individual.
                      business:
                        type: object
                        required:
                          - legalBusinessName
                          - ownersProvided
                        properties:
                          legalBusinessName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: The legal name under which the entity is registered.
                            example: Classbooker, LLC
                          doingBusinessAs:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: A registered trade name under which the business operates, if different from its legal name.
                          businessType:
                            type: string
                            enum:
                              - soleProprietorship
                              - unincorporatedAssociation
                              - trust
                              - publicCorporation
                              - privateCorporation
                              - llc
                              - partnership
                              - unincorporatedNonProfit
                              - incorporatedNonProfit
                              - governmentEntity
                            description: The type of entity represented by this business.
                            example: llc
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          website:
                            type: string
                            format: uri
                            maxLength: 100
                          description:
                            type: string
                            minLength: 10
                            maxLength: 100
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Local fitness gym paying out instructors
                          taxIDProvided:
                            type: boolean
                            description: Indicates whether a tax ID has been provided for this business.
                          representatives:
                            type: array
                            items:
                              type: object
                              required:
                                - representativeID
                                - name
                                - createdOn
                                - updatedOn
                              properties:
                                representativeID:
                                  type: string
                                  format: uuid
                                  description: Unique identifier for this representative.
                                name:
                                  type: object
                                  required:
                                    - firstName
                                    - lastName
                                  properties:
                                    firstName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's first given name.
                                      example: Jordan
                                    middleName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's second given name, if any.
                                      example: Reese
                                    lastName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's family name.
                                      example: Lee
                                    suffix:
                                      type: string
                                      maxLength: 20
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: Suffix of a given name.
                                      example: Jr
                                phone:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      maxLength: 10
                                      example: '8185551212'
                                    countryCode:
                                      type: string
                                      maxLength: 1
                                      example: '1'
                                email:
                                  type: string
                                  maxLength: 255
                                  format: email
                                  example: jordan.lee@classbooker.dev
                                address:
                                  type: object
                                  required:
                                    - addressLine1
                                    - city
                                    - stateOrProvince
                                    - postalCode
                                    - country
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: 123 Main Street
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Apt 302
                                    city:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Boulder
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                      example: CO
                                    postalCode:
                                      type: string
                                      maxLength: 5
                                      example: '80301'
                                    country:
                                      type: string
                                      maxLength: 2
                                      example: US
                                birthDateProvided:
                                  type: boolean
                                  description: Indicates whether this representative's birth date has been provided.
                                governmentIDProvided:
                                  type: boolean
                                  description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                                responsibilities:
                                  type: object
                                  properties:
                                    isController:
                                      type: boolean
                                      description: Indicates whether this individual has significant management responsibilities within the business.
                                    isOwner:
                                      type: boolean
                                      description: |-
                                        If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                                        business. If the representative does not own at least 25% of the business, this field should be `false`.
                                    ownershipPercentage:
                                      type: integer
                                      description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                                      example: 38
                                    jobTitle:
                                      type: string
                                      maxLength: 64
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: CEO
                                  description: Describes the job responsibilities of a business representative.
                                createdOn:
                                  type: string
                                  format: date-time
                                updatedOn:
                                  type: string
                                  format: date-time
                                disabledOn:
                                  type: string
                                  format: date-time
                              description: Describes a business representative.
                          ownersProvided:
                            type: boolean
                          industryCodes:
                            type: object
                            properties:
                              naics:
                                type: string
                                minLength: 2
                                maxLength: 6
                                example: '713940'
                              sic:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7991'
                              mcc:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7997'
                          primaryRegulator:
                            type: string
                            enum:
                              - OCC
                              - FDIC
                              - NCUA
                              - FRB
                              - state-cu-regulator
                            description: If the business is a financial institution, this field describes its primary regulator.
                        description: Describes a business.
                      guest:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: |-
                              The name associated with the guest account.
                              This will default to "Guest {accountIDfirst8}" if no other name is provided.
                            example: Guest 75e5fbb8
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                        description: Describes a guest account profile.
                    description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  termsOfService:
                    type: object
                    required:
                      - acceptedDate
                      - acceptedIP
                    properties:
                      acceptedDate:
                        type: string
                        format: date-time
                        description: The date and time the terms of service were accepted.
                      acceptedIP:
                        type: string
                        format: ipv4
                        description: The IP address from which the terms of service were accepted.
                        example: 172.217.2.46
                    description: Describes the acceptance of the Terms of Service.
                  capabilities:
                    type: array
                    items:
                      type: object
                      required:
                        - capability
                        - status
                      properties:
                        capability:
                          type: string
                        status:
                          type: string
                      description: Describes an action or set of actions that an account is permitted to perform.
                  verification:
                    type: object
                    required:
                      - status
                    properties:
                      verificationStatus:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - resubmit
                          - review
                          - verified
                          - failed
                        description: Possible states an account verification can be in.
                        deprecated: true
                      status:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - verified
                          - errored
                        description: Possible states an account verification can be in.
                        deprecated: true
                      details:
                        type: string
                        enum:
                          - failedAutoVerify
                          - docDobMismatch
                          - docNameMismatch
                          - docAddressMismatch
                          - docNumberMismatch
                          - docIncomplete
                          - docFailedRisk
                          - potentialAccountSanctionsMatch
                          - potentialRepresentativeSanctionsMatch
                          - failedOther
                        description: Additional detail for a verification status.
                        deprecated: true
                      documents:
                        type: array
                        items:
                          type: object
                          required:
                            - documentID
                            - type
                            - contentType
                            - uploadedAt
                          properties:
                            documentID:
                              type: string
                              format: uuid
                              example: e07e83e8-9429-4e99-ac99-c941f719eb39
                            type:
                              type: string
                              enum:
                                - driversLicense
                                - passport
                                - utilityBill
                                - bankStatement
                              description: Types of documents that can be uploaded.
                              example: bankStatement
                            contentType:
                              type: string
                              description: The document's MIME type.
                              example: application/pdf
                            parseErrors:
                              type: array
                              items:
                                type: string
                              description: Optional array of errors encountered during automated parsing.
                            uploadedAt:
                              type: string
                              format: date-time
                              example: '2024-05-06T12:20:38.184Z'
                    description: Describes identity verification status and relevant identity verification documents.
                  foreignID:
                    type: string
                    maxLength: 64
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                  customerSupport:
                    type: object
                    properties:
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                            maxLength: 10
                            example: '8185551212'
                          countryCode:
                            type: string
                            maxLength: 1
                            example: '1'
                      email:
                        type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                      address:
                        type: object
                        required:
                          - addressLine1
                          - city
                          - stateOrProvince
                          - postalCode
                          - country
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: 123 Main Street
                          addressLine2:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Apt 302
                          city:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Boulder
                          stateOrProvince:
                            type: string
                            maxLength: 2
                            example: CO
                          postalCode:
                            type: string
                            maxLength: 5
                            example: '80301'
                          country:
                            type: string
                            maxLength: 2
                            example: US
                      website:
                        type: string
                        format: uri
                    description: |-
                      User-provided information that can be displayed on credit card transactions for customers to use when
                      contacting a customer support team. This data is only allowed on a business account.
                  settings:
                    type: object
                    properties:
                      cardPayment:
                        type: object
                        properties:
                          statementDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            pattern: '[a-zA-Z0-9.!*-+_ ]+'
                            description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                            example: Whole Body Fitness
                        description: User provided settings to manage card payments. This data is only allowed on a business account.
                      achPayment:
                        type: object
                        required:
                          - companyName
                        properties:
                          companyName:
                            type: string
                            minLength: 1
                            maxLength: 16
                            pattern: '[a-zA-Z0-9- ]+'
                            description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                            example: WholeBodyFitness
                    description: User provided settings to manage an account.
                  createdOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  updatedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  disconnectedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                example:
                  mode: sandbox
                  accountID: 53ca67ea-6fd3-423f-9544-ce2404159d33
                  accountType: business
                  displayName: Whole Body Fitness LLC
                  profile:
                    business:
                      legalBusinessName: Whole Body Fitness LLC
                      ownersProvided: false
                  verification:
                    verificationStatus: unverified
                    status: unverified
                  settings:
                    cardPayment:
                      statementDescriptor: Whole Body Fitness LLC
                    achPayment:
                      companyName: Whole Body Fitne
                  createdOn: '2024-12-16T17:55:20.557151867Z'
                  updatedOn: '2024-12-16T17:55:20.557151867Z'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  accountType:
                    type: string
                  profile:
                    type: object
                    properties:
                      individual:
                        type: object
                        properties:
                          name:
                            type: object
                            properties:
                              firstName:
                                type: string
                              middleName:
                                type: string
                              lastName:
                                type: string
                              suffix:
                                type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                type: string
                          email:
                            type: string
                          address:
                            type: object
                            properties:
                              addressLine1:
                                type: string
                              addressLine2:
                                type: string
                              city:
                                type: string
                              stateOrProvince:
                                type: string
                              postalCode:
                                type: string
                              country:
                                type: string
                          birthDate:
                            type: object
                            properties:
                              day:
                                type: string
                              month:
                                type: string
                              year:
                                type: string
                          governmentID:
                            type: object
                            properties:
                              ssn:
                                type: object
                                properties:
                                  full:
                                    type: string
                                  lastFour:
                                    type: string
                              itin:
                                type: object
                                properties:
                                  full:
                                    type: string
                                  lastFour:
                                    type: string
                      business:
                        type: object
                        properties:
                          legalBusinessName:
                            type: string
                          doingBusinessAs:
                            type: string
                          businessType:
                            type: string
                          address:
                            type: object
                            properties:
                              addressLine1:
                                type: string
                              addressLine2:
                                type: string
                              city:
                                type: string
                              stateOrProvince:
                                type: string
                              postalCode:
                                type: string
                              country:
                                type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                type: string
                          email:
                            type: string
                          website:
                            type: string
                          description:
                            type: string
                          taxID:
                            type: object
                            properties:
                              ein:
                                type: object
                                properties:
                                  number:
                                    type: string
                          industryCodes:
                            type: object
                            properties:
                              naics:
                                type: string
                              sic:
                                type: string
                              mcc:
                                type: string
                          primaryRegulator:
                            type: string
                  metadata:
                    type: string
                  termsOfService:
                    type: object
                    properties:
                      token:
                        type: string
                      manual:
                        type: object
                        properties:
                          acceptedDate:
                            type: string
                          acceptedDomain:
                            type: string
                          acceptedIP:
                            type: string
                          acceptedUserAgent:
                            type: string
                  foreignID:
                    type: string
                  customerSupport:
                    type: object
                    properties:
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                          countryCode:
                            type: string
                      email:
                        type: string
                      address:
                        type: object
                        properties:
                          addressLine1:
                            type: string
                          addressLine2:
                            type: string
                          city:
                            type: string
                          stateOrProvince:
                            type: string
                          postalCode:
                            type: string
                          country:
                            type: string
                      website:
                        type: string
                  settings:
                    type: object
                    properties:
                      cardPayment:
                        type: object
                        properties:
                          statementDescriptor:
                            type: string
                      achPayment:
                        type: object
                        properties:
                          companyName:
                            type: string
                  capabilities:
                    type: object
                    additionalProperties:
                      type: string
                    example:
                      '0': first element failed validation...
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - accountType
                - profile
              properties:
                accountType:
                  type: string
                  enum:
                    - individual
                    - business
                profile:
                  type: object
                  properties:
                    individual:
                      type: object
                      required:
                        - name
                      properties:
                        name:
                          type: object
                          required:
                            - firstName
                            - lastName
                          properties:
                            firstName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's first given name.
                              example: Jordan
                            middleName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's second given name, if any.
                              example: Reese
                            lastName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's family name.
                              example: Lee
                            suffix:
                              type: string
                              maxLength: 20
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: Suffix of a given name.
                              example: Jr
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        birthDate:
                          type: object
                          required:
                            - day
                            - month
                            - year
                          properties:
                            day:
                              type: integer
                              example: 9
                            month:
                              type: integer
                              example: 11
                            year:
                              type: integer
                              example: 1989
                        governmentID:
                          type: object
                          properties:
                            ssn:
                              type: object
                              properties:
                                full:
                                  type: string
                                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                lastFour:
                                  type: string
                            itin:
                              type: object
                              properties:
                                full:
                                  type: string
                                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                lastFour:
                                  type: string
                    business:
                      type: object
                      required:
                        - legalBusinessName
                      properties:
                        legalBusinessName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                          description: The legal name under which the entity is registered.
                          example: Classbooker, LLC
                        doingBusinessAs:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                          description: A registered trade name under which the business operates, if different from its legal name.
                        businessType:
                          type: string
                          enum:
                            - soleProprietorship
                            - unincorporatedAssociation
                            - trust
                            - publicCorporation
                            - privateCorporation
                            - llc
                            - partnership
                            - unincorporatedNonProfit
                            - incorporatedNonProfit
                            - governmentEntity
                          description: The type of entity represented by this business.
                          example: llc
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        website:
                          type: string
                          format: uri
                          maxLength: 100
                        description:
                          type: string
                          minLength: 10
                          maxLength: 100
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Local fitness gym paying out instructors
                        taxID:
                          type: object
                          required:
                            - ein
                          properties:
                            ein:
                              type: object
                              properties:
                                number:
                                  type: string
                                  example: 12-3456789
                              required:
                                - number
                          description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                        industryCodes:
                          type: object
                          properties:
                            naics:
                              type: string
                              minLength: 2
                              maxLength: 6
                              example: '713940'
                            sic:
                              type: string
                              minLength: 4
                              maxLength: 4
                              example: '7991'
                            mcc:
                              type: string
                              minLength: 4
                              maxLength: 4
                              example: '7997'
                        primaryRegulator:
                          type: string
                          enum:
                            - OCC
                            - FDIC
                            - NCUA
                            - FRB
                            - state-cu-regulator
                          description: If the business is a financial institution, this field describes its primary regulator.
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                  example:
                    optional: metadata
                termsOfService:
                  oneOf:
                    - type: object
                      required:
                        - token
                      properties:
                        token:
                          type: string
                          example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                      description: An encrypted value used to record acceptance of Moov's Terms of Service.
                      title: Token
                    - type: object
                      required:
                        - acceptedDate
                        - acceptedIP
                        - acceptedUserAgent
                        - acceptedDomain
                      properties:
                        acceptedDate:
                          type: string
                          format: date-time
                          description: The date and time the terms of service were accepted.
                        acceptedIP:
                          type: string
                          format: ipv4
                          description: The IP address from which the terms of service were accepted.
                          example: 172.217.2.46
                        acceptedUserAgent:
                          type: string
                          maxLength: 255
                          description: The user-agent of the user making the request.
                          example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                        acceptedDomain:
                          type: string
                          format: uri
                      description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                      title: Manual
                foreignID:
                  type: string
                  maxLength: 64
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  description: Optional alias from a foreign/external system which can be used to reference this resource.
                customerSupport:
                  type: object
                  properties:
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    website:
                      type: string
                      format: uri
                  description: |-
                    User-provided information that can be displayed on credit card transactions for customers to use when
                    contacting a customer support team. This data is only allowed on a business account.
                settings:
                  type: object
                  properties:
                    cardPayment:
                      type: object
                      properties:
                        statementDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          pattern: '[a-zA-Z0-9.!*-+_ ]+'
                          description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                          example: Whole Body Fitness
                      description: User provided settings to manage card payments. This data is only allowed on a business account.
                    achPayment:
                      type: object
                      required:
                        - companyName
                      properties:
                        companyName:
                          type: string
                          minLength: 1
                          maxLength: 16
                          pattern: '[a-zA-Z0-9- ]+'
                          description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                          example: WholeBodyFitness
                  description: User provided settings to manage an account.
                capabilities:
                  type: array
                  items:
                    type: string
                    enum:
                      - transfers
                      - send-funds
                      - send-funds.push-to-card
                      - money-transfer.push-to-card
                      - send-funds.ach
                      - send-funds.rtp
                      - send-funds.instant-bank
                      - collect-funds
                      - collect-funds.card-payments
                      - money-transfer.pull-from-card
                      - collect-funds.ach
                      - wallet
                      - wallet.balance
                      - card-issuing
                      - production-app
                      - platform.production-app
                      - platform.wallet-transfers
                    description: |-
                      Moov account capabilities.

                      The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                mode:
                  type: string
                  enum:
                    - sandbox
                    - production
                  description: The operating mode for an account.
                  example: production
              example:
                accountType: business
                profile:
                  business:
                    legalBusinessName: Whole Body Fitness LLC
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.create({
                accountType: "business",
                profile: {
                  business: {
                    legalBusinessName: "Whole Body Fitness LLC",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createAccount = new Components\CreateAccount(
                accountType: Components\CreateAccountType::Business,
                profile: new Components\CreateProfile(
                    business: new Components\CreateBusinessProfile(
                        legalBusinessName: 'Whole Body Fitness LLC',
                    ),
                ),
            );

            $response = $sdk->accounts->create(
                createAccount: $createAccount
            );

            if ($response->account !== null) {
                // handle response
            }
        - lang: python
          label: createAccount
          source: |-
            from openapi import SDK, models
            from openapi.utils import parse_datetime


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.create(account_type="business", profile=models.CreateProfile(
                    business=models.CreateBusinessProfile(
                        legal_business_name="Whole Body Fitness LLC",
                    ),
                ), metadata={
                    "optional": "metadata",
                }, terms_of_service={
                    "accepted_date": parse_datetime("2023-05-21T04:53:54.554Z"),
                    "accepted_ip": "172.217.2.46",
                    "accepted_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36",
                    "accepted_domain": "https://esteemed-velocity.net",
                }, customer_support={
                    "phone": {
                        "number": "8185551212",
                        "country_code": "1",
                    },
                    "email": "jordan.lee@classbooker.dev",
                    "address": {
                        "address_line1": "123 Main Street",
                        "address_line2": "Apt 302",
                        "city": "Boulder",
                        "state_or_province": "CO",
                        "postal_code": "80301",
                        "country": "US",
                    },
                }, settings={
                    "card_payment": {
                        "statement_descriptor": "Whole Body Fitness",
                    },
                    "ach_payment": {
                        "company_name": "WholeBodyFitness",
                    },
                }, mode="production")

                # Handle response
                print(res)
        - lang: java
          label: createAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.CreateAccountError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateAccountResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CreateAccountError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateAccount req = CreateAccount.builder()
                            .accountType(CreateAccountType.BUSINESS)
                            .profile(CreateProfile.builder()
                                .business(CreateBusinessProfile.builder()
                                    .legalBusinessName("Whole Body Fitness LLC")
                                    .build())
                                .build())
                            .build();

                    CreateAccountResponse res = sdk.accounts().create()
                            .request(req)
                            .call();

                    if (res.account().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.create(create_account: Models::Components::CreateAccount.new(
              account_type: Models::Components::CreateAccountType::BUSINESS,
              profile: Models::Components::CreateProfile.new(
                business: Models::Components::CreateBusinessProfile.new(
                  legal_business_name: 'Whole Body Fitness LLC',
                ),
              ),
            ))

            unless res.account.nil?
              # handle response
            end
    get:
      operationId: listAccounts
      description: |-
        List or search accounts to which the caller is connected.

        All supported query parameters are optional. If none are provided the response will include all connected accounts.
        Pagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and 
        return results based on relevance. Accounts with AccountType `guest` will not be included in the response.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
        to specify the `/accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: name
          in: query
          required: false
          description: |-
            Filter connected accounts by name.

            If provided, this query will attempt to find matches against the following Account and Profile fields:
            <ul>
              <li>Account `displayName`</li>
              <li>Individual Profile `firstName`, `middleName`, and `lastName`</li>
              <li>Business Profile `legalBusinessName`</li>
            </ul>

            Filtering by Guest Profile `name` is not currently supported.
          schema:
            type: string
          explode: false
        - name: email
          in: query
          required: false
          description: |2-
              Filter connected accounts by email address.

              Provide the full email address to filter by email.
          schema:
            type: string
          explode: false
        - name: type
          in: query
          required: false
          description: |2-
              Filter connected accounts by AccountType.

              If the `type` parameter is used in combination with `name`, only the corresponding type's name fields will
              be searched. For example, if `type=business` and `name=moov`, the search will attempt to find matches against
              the display name and Business Profile name fields (`legalBusinessName`, and `doingBusinessAs`).

              Filtering by `type=guest` is not currently supported.
          schema:
            type: string
            enum:
              - individual
              - business
          explode: false
        - 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
        - name: includeDisconnected
          in: query
          required: false
          description: |-
            Filter disconnected accounts.

            If true, the response will include disconnected accounts.
          schema:
            type: boolean
          explode: false
        - name: capability
          in: query
          required: false
          description: '  Filter connected accounts by the capability.'
          schema:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
          explode: false
        - name: capabilityStatus
          in: query
          required: false
          description: '  Filter connected accounts by the capability.'
          schema:
            type: string
            enum:
              - enabled
              - disabled
              - pending
              - in-review
            description: The status of the capability requested for an account.
          explode: false
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - accountID
                    - mode
                    - accountType
                    - displayName
                    - profile
                    - verification
                    - createdOn
                    - updatedOn
                  properties:
                    accountID:
                      type: string
                      format: uuid
                      description: Unique identifier for this account.
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    mode:
                      type: string
                      enum:
                        - sandbox
                        - production
                      description: The operating mode for an account.
                      example: production
                    accountType:
                      type: string
                      enum:
                        - individual
                        - business
                        - guest
                      description: The type of entity represented by this account.
                      example: business
                    displayName:
                      type: string
                      maxLength: 64
                      example: Whole Body Fitness
                    profile:
                      type: object
                      properties:
                        individual:
                          type: object
                          required:
                            - name
                          properties:
                            name:
                              type: object
                              required:
                                - firstName
                                - lastName
                              properties:
                                firstName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's first given name.
                                  example: Jordan
                                middleName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's second given name, if any.
                                  example: Reese
                                lastName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's family name.
                                  example: Lee
                                suffix:
                                  type: string
                                  maxLength: 20
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: Suffix of a given name.
                                  example: Jr
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            address:
                              type: object
                              required:
                                - addressLine1
                                - city
                                - stateOrProvince
                                - postalCode
                                - country
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: 123 Main Street
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Apt 302
                                city:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Boulder
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                  example: CO
                                postalCode:
                                  type: string
                                  maxLength: 5
                                  example: '80301'
                                country:
                                  type: string
                                  maxLength: 2
                                  example: US
                            birthDateProvided:
                              type: boolean
                              description: Indicates whether this individual's birth date has been provided.
                            governmentIDProvided:
                              type: boolean
                              description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
                          description: Describes an individual.
                        business:
                          type: object
                          required:
                            - legalBusinessName
                            - ownersProvided
                          properties:
                            legalBusinessName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                              description: The legal name under which the entity is registered.
                              example: Classbooker, LLC
                            doingBusinessAs:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                              description: A registered trade name under which the business operates, if different from its legal name.
                            businessType:
                              type: string
                              enum:
                                - soleProprietorship
                                - unincorporatedAssociation
                                - trust
                                - publicCorporation
                                - privateCorporation
                                - llc
                                - partnership
                                - unincorporatedNonProfit
                                - incorporatedNonProfit
                                - governmentEntity
                              description: The type of entity represented by this business.
                              example: llc
                            address:
                              type: object
                              required:
                                - addressLine1
                                - city
                                - stateOrProvince
                                - postalCode
                                - country
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: 123 Main Street
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Apt 302
                                city:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Boulder
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                  example: CO
                                postalCode:
                                  type: string
                                  maxLength: 5
                                  example: '80301'
                                country:
                                  type: string
                                  maxLength: 2
                                  example: US
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            website:
                              type: string
                              format: uri
                              maxLength: 100
                            description:
                              type: string
                              minLength: 10
                              maxLength: 100
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Local fitness gym paying out instructors
                            taxIDProvided:
                              type: boolean
                              description: Indicates whether a tax ID has been provided for this business.
                            representatives:
                              type: array
                              items:
                                type: object
                                required:
                                  - representativeID
                                  - name
                                  - createdOn
                                  - updatedOn
                                properties:
                                  representativeID:
                                    type: string
                                    format: uuid
                                    description: Unique identifier for this representative.
                                  name:
                                    type: object
                                    required:
                                      - firstName
                                      - lastName
                                    properties:
                                      firstName:
                                        type: string
                                        maxLength: 64
                                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                        description: The individual's first given name.
                                        example: Jordan
                                      middleName:
                                        type: string
                                        maxLength: 64
                                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                        description: The individual's second given name, if any.
                                        example: Reese
                                      lastName:
                                        type: string
                                        maxLength: 64
                                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                        description: The individual's family name.
                                        example: Lee
                                      suffix:
                                        type: string
                                        maxLength: 20
                                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                        description: Suffix of a given name.
                                        example: Jr
                                  phone:
                                    type: object
                                    properties:
                                      number:
                                        type: string
                                        maxLength: 10
                                        example: '8185551212'
                                      countryCode:
                                        type: string
                                        maxLength: 1
                                        example: '1'
                                  email:
                                    type: string
                                    maxLength: 255
                                    format: email
                                    example: jordan.lee@classbooker.dev
                                  address:
                                    type: object
                                    required:
                                      - addressLine1
                                      - city
                                      - stateOrProvince
                                      - postalCode
                                      - country
                                    properties:
                                      addressLine1:
                                        type: string
                                        maxLength: 60
                                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                        example: 123 Main Street
                                      addressLine2:
                                        type: string
                                        maxLength: 32
                                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                        example: Apt 302
                                      city:
                                        type: string
                                        maxLength: 32
                                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                        example: Boulder
                                      stateOrProvince:
                                        type: string
                                        maxLength: 2
                                        example: CO
                                      postalCode:
                                        type: string
                                        maxLength: 5
                                        example: '80301'
                                      country:
                                        type: string
                                        maxLength: 2
                                        example: US
                                  birthDateProvided:
                                    type: boolean
                                    description: Indicates whether this representative's birth date has been provided.
                                  governmentIDProvided:
                                    type: boolean
                                    description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                                  responsibilities:
                                    type: object
                                    properties:
                                      isController:
                                        type: boolean
                                        description: Indicates whether this individual has significant management responsibilities within the business.
                                      isOwner:
                                        type: boolean
                                        description: |-
                                          If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                                          business. If the representative does not own at least 25% of the business, this field should be `false`.
                                      ownershipPercentage:
                                        type: integer
                                        description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                                        example: 38
                                      jobTitle:
                                        type: string
                                        maxLength: 64
                                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                        example: CEO
                                    description: Describes the job responsibilities of a business representative.
                                  createdOn:
                                    type: string
                                    format: date-time
                                  updatedOn:
                                    type: string
                                    format: date-time
                                  disabledOn:
                                    type: string
                                    format: date-time
                                description: Describes a business representative.
                            ownersProvided:
                              type: boolean
                            industryCodes:
                              type: object
                              properties:
                                naics:
                                  type: string
                                  minLength: 2
                                  maxLength: 6
                                  example: '713940'
                                sic:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  example: '7991'
                                mcc:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  example: '7997'
                            primaryRegulator:
                              type: string
                              enum:
                                - OCC
                                - FDIC
                                - NCUA
                                - FRB
                                - state-cu-regulator
                              description: If the business is a financial institution, this field describes its primary regulator.
                          description: Describes a business.
                        guest:
                          type: object
                          required:
                            - name
                          properties:
                            name:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: |-
                                The name associated with the guest account.
                                This will default to "Guest {accountIDfirst8}" if no other name is provided.
                              example: Guest 75e5fbb8
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                          description: Describes a guest account profile.
                      description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                    termsOfService:
                      type: object
                      required:
                        - acceptedDate
                        - acceptedIP
                      properties:
                        acceptedDate:
                          type: string
                          format: date-time
                          description: The date and time the terms of service were accepted.
                        acceptedIP:
                          type: string
                          format: ipv4
                          description: The IP address from which the terms of service were accepted.
                          example: 172.217.2.46
                      description: Describes the acceptance of the Terms of Service.
                    capabilities:
                      type: array
                      items:
                        type: object
                        required:
                          - capability
                          - status
                        properties:
                          capability:
                            type: string
                          status:
                            type: string
                        description: Describes an action or set of actions that an account is permitted to perform.
                    verification:
                      type: object
                      required:
                        - status
                      properties:
                        verificationStatus:
                          type: string
                          enum:
                            - unverified
                            - pending
                            - resubmit
                            - review
                            - verified
                            - failed
                          description: Possible states an account verification can be in.
                          deprecated: true
                        status:
                          type: string
                          enum:
                            - unverified
                            - pending
                            - verified
                            - errored
                          description: Possible states an account verification can be in.
                          deprecated: true
                        details:
                          type: string
                          enum:
                            - failedAutoVerify
                            - docDobMismatch
                            - docNameMismatch
                            - docAddressMismatch
                            - docNumberMismatch
                            - docIncomplete
                            - docFailedRisk
                            - potentialAccountSanctionsMatch
                            - potentialRepresentativeSanctionsMatch
                            - failedOther
                          description: Additional detail for a verification status.
                          deprecated: true
                        documents:
                          type: array
                          items:
                            type: object
                            required:
                              - documentID
                              - type
                              - contentType
                              - uploadedAt
                            properties:
                              documentID:
                                type: string
                                format: uuid
                                example: e07e83e8-9429-4e99-ac99-c941f719eb39
                              type:
                                type: string
                                enum:
                                  - driversLicense
                                  - passport
                                  - utilityBill
                                  - bankStatement
                                description: Types of documents that can be uploaded.
                                example: bankStatement
                              contentType:
                                type: string
                                description: The document's MIME type.
                                example: application/pdf
                              parseErrors:
                                type: array
                                items:
                                  type: string
                                description: Optional array of errors encountered during automated parsing.
                              uploadedAt:
                                type: string
                                format: date-time
                                example: '2024-05-06T12:20:38.184Z'
                      description: Describes identity verification status and relevant identity verification documents.
                    foreignID:
                      type: string
                      maxLength: 64
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      description: Optional alias from a foreign/external system which can be used to reference this resource.
                    customerSupport:
                      type: object
                      properties:
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        website:
                          type: string
                          format: uri
                      description: |-
                        User-provided information that can be displayed on credit card transactions for customers to use when
                        contacting a customer support team. This data is only allowed on a business account.
                    settings:
                      type: object
                      properties:
                        cardPayment:
                          type: object
                          properties:
                            statementDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              pattern: '[a-zA-Z0-9.!*-+_ ]+'
                              description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                              example: Whole Body Fitness
                          description: User provided settings to manage card payments. This data is only allowed on a business account.
                        achPayment:
                          type: object
                          required:
                            - companyName
                          properties:
                            companyName:
                              type: string
                              minLength: 1
                              maxLength: 16
                              pattern: '[a-zA-Z0-9- ]+'
                              description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                              example: WholeBodyFitness
                      description: User provided settings to manage an account.
                    createdOn:
                      type: string
                      format: date-time
                      example: '2024-05-06T12:20:38.184Z'
                    updatedOn:
                      type: string
                      format: date-time
                      example: '2024-05-06T12:20:38.184Z'
                    disconnectedOn:
                      type: string
                      format: date-time
                      example: '2024-05-06T12:20:38.184Z'
                  example:
                    mode: sandbox
                    accountID: 53ca67ea-6fd3-423f-9544-ce2404159d33
                    accountType: business
                    displayName: Whole Body Fitness LLC
                    profile:
                      business:
                        legalBusinessName: Whole Body Fitness LLC
                        ownersProvided: false
                    verification:
                      verificationStatus: unverified
                      status: unverified
                    settings:
                      cardPayment:
                        statementDescriptor: Whole Body Fitness LLC
                      achPayment:
                        companyName: Whole Body Fitne
                    createdOn: '2024-12-16T17:55:20.557151867Z'
                    updatedOn: '2024-12-16T17:55:20.557151867Z'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listAccounts
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.list({
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listAccounts
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListAccountsRequest(
                skip: 60,
                count: 20,
            );

            $response = $sdk->accounts->list(
                request: $request
            );

            if ($response->accounts !== null) {
                // handle response
            }
        - lang: python
          label: listAccounts
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.list(skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listAccounts
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListAccountsRequest;
            import org.openapis.openapi.models.operations.ListAccountsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListAccountsRequest req = ListAccountsRequest.builder()
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListAccountsResponse res = sdk.accounts().list()
                            .request(req)
                            .call();

                    if (res.accounts().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listAccounts
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListAccountsRequest.new(
              skip: 60,
              count: 20,
            )

            res = s.accounts.list(request: req)

            unless res.accounts.nil?
              # handle response
            end
  /accounts/{accountID}:
    get:
      operationId: getAccount
      description: |-
        Retrieves details for the account with the specified ID.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
        to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - mode
                  - accountType
                  - displayName
                  - profile
                  - verification
                  - createdOn
                  - updatedOn
                properties:
                  accountID:
                    type: string
                    format: uuid
                    description: Unique identifier for this account.
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  accountType:
                    type: string
                    enum:
                      - individual
                      - business
                      - guest
                    description: The type of entity represented by this account.
                    example: business
                  displayName:
                    type: string
                    maxLength: 64
                    example: Whole Body Fitness
                  profile:
                    type: object
                    properties:
                      individual:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: object
                            required:
                              - firstName
                              - lastName
                            properties:
                              firstName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's first given name.
                                example: Jordan
                              middleName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's second given name, if any.
                                example: Reese
                              lastName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's family name.
                                example: Lee
                              suffix:
                                type: string
                                maxLength: 20
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: Suffix of a given name.
                                example: Jr
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          birthDateProvided:
                            type: boolean
                            description: Indicates whether this individual's birth date has been provided.
                          governmentIDProvided:
                            type: boolean
                            description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
                        description: Describes an individual.
                      business:
                        type: object
                        required:
                          - legalBusinessName
                          - ownersProvided
                        properties:
                          legalBusinessName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: The legal name under which the entity is registered.
                            example: Classbooker, LLC
                          doingBusinessAs:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: A registered trade name under which the business operates, if different from its legal name.
                          businessType:
                            type: string
                            enum:
                              - soleProprietorship
                              - unincorporatedAssociation
                              - trust
                              - publicCorporation
                              - privateCorporation
                              - llc
                              - partnership
                              - unincorporatedNonProfit
                              - incorporatedNonProfit
                              - governmentEntity
                            description: The type of entity represented by this business.
                            example: llc
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          website:
                            type: string
                            format: uri
                            maxLength: 100
                          description:
                            type: string
                            minLength: 10
                            maxLength: 100
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Local fitness gym paying out instructors
                          taxIDProvided:
                            type: boolean
                            description: Indicates whether a tax ID has been provided for this business.
                          representatives:
                            type: array
                            items:
                              type: object
                              required:
                                - representativeID
                                - name
                                - createdOn
                                - updatedOn
                              properties:
                                representativeID:
                                  type: string
                                  format: uuid
                                  description: Unique identifier for this representative.
                                name:
                                  type: object
                                  required:
                                    - firstName
                                    - lastName
                                  properties:
                                    firstName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's first given name.
                                      example: Jordan
                                    middleName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's second given name, if any.
                                      example: Reese
                                    lastName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's family name.
                                      example: Lee
                                    suffix:
                                      type: string
                                      maxLength: 20
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: Suffix of a given name.
                                      example: Jr
                                phone:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      maxLength: 10
                                      example: '8185551212'
                                    countryCode:
                                      type: string
                                      maxLength: 1
                                      example: '1'
                                email:
                                  type: string
                                  maxLength: 255
                                  format: email
                                  example: jordan.lee@classbooker.dev
                                address:
                                  type: object
                                  required:
                                    - addressLine1
                                    - city
                                    - stateOrProvince
                                    - postalCode
                                    - country
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: 123 Main Street
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Apt 302
                                    city:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Boulder
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                      example: CO
                                    postalCode:
                                      type: string
                                      maxLength: 5
                                      example: '80301'
                                    country:
                                      type: string
                                      maxLength: 2
                                      example: US
                                birthDateProvided:
                                  type: boolean
                                  description: Indicates whether this representative's birth date has been provided.
                                governmentIDProvided:
                                  type: boolean
                                  description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                                responsibilities:
                                  type: object
                                  properties:
                                    isController:
                                      type: boolean
                                      description: Indicates whether this individual has significant management responsibilities within the business.
                                    isOwner:
                                      type: boolean
                                      description: |-
                                        If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                                        business. If the representative does not own at least 25% of the business, this field should be `false`.
                                    ownershipPercentage:
                                      type: integer
                                      description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                                      example: 38
                                    jobTitle:
                                      type: string
                                      maxLength: 64
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: CEO
                                  description: Describes the job responsibilities of a business representative.
                                createdOn:
                                  type: string
                                  format: date-time
                                updatedOn:
                                  type: string
                                  format: date-time
                                disabledOn:
                                  type: string
                                  format: date-time
                              description: Describes a business representative.
                          ownersProvided:
                            type: boolean
                          industryCodes:
                            type: object
                            properties:
                              naics:
                                type: string
                                minLength: 2
                                maxLength: 6
                                example: '713940'
                              sic:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7991'
                              mcc:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7997'
                          primaryRegulator:
                            type: string
                            enum:
                              - OCC
                              - FDIC
                              - NCUA
                              - FRB
                              - state-cu-regulator
                            description: If the business is a financial institution, this field describes its primary regulator.
                        description: Describes a business.
                      guest:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: |-
                              The name associated with the guest account.
                              This will default to "Guest {accountIDfirst8}" if no other name is provided.
                            example: Guest 75e5fbb8
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                        description: Describes a guest account profile.
                    description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  termsOfService:
                    type: object
                    required:
                      - acceptedDate
                      - acceptedIP
                    properties:
                      acceptedDate:
                        type: string
                        format: date-time
                        description: The date and time the terms of service were accepted.
                      acceptedIP:
                        type: string
                        format: ipv4
                        description: The IP address from which the terms of service were accepted.
                        example: 172.217.2.46
                    description: Describes the acceptance of the Terms of Service.
                  capabilities:
                    type: array
                    items:
                      type: object
                      required:
                        - capability
                        - status
                      properties:
                        capability:
                          type: string
                        status:
                          type: string
                      description: Describes an action or set of actions that an account is permitted to perform.
                  verification:
                    type: object
                    required:
                      - status
                    properties:
                      verificationStatus:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - resubmit
                          - review
                          - verified
                          - failed
                        description: Possible states an account verification can be in.
                        deprecated: true
                      status:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - verified
                          - errored
                        description: Possible states an account verification can be in.
                        deprecated: true
                      details:
                        type: string
                        enum:
                          - failedAutoVerify
                          - docDobMismatch
                          - docNameMismatch
                          - docAddressMismatch
                          - docNumberMismatch
                          - docIncomplete
                          - docFailedRisk
                          - potentialAccountSanctionsMatch
                          - potentialRepresentativeSanctionsMatch
                          - failedOther
                        description: Additional detail for a verification status.
                        deprecated: true
                      documents:
                        type: array
                        items:
                          type: object
                          required:
                            - documentID
                            - type
                            - contentType
                            - uploadedAt
                          properties:
                            documentID:
                              type: string
                              format: uuid
                              example: e07e83e8-9429-4e99-ac99-c941f719eb39
                            type:
                              type: string
                              enum:
                                - driversLicense
                                - passport
                                - utilityBill
                                - bankStatement
                              description: Types of documents that can be uploaded.
                              example: bankStatement
                            contentType:
                              type: string
                              description: The document's MIME type.
                              example: application/pdf
                            parseErrors:
                              type: array
                              items:
                                type: string
                              description: Optional array of errors encountered during automated parsing.
                            uploadedAt:
                              type: string
                              format: date-time
                              example: '2024-05-06T12:20:38.184Z'
                    description: Describes identity verification status and relevant identity verification documents.
                  foreignID:
                    type: string
                    maxLength: 64
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                  customerSupport:
                    type: object
                    properties:
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                            maxLength: 10
                            example: '8185551212'
                          countryCode:
                            type: string
                            maxLength: 1
                            example: '1'
                      email:
                        type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                      address:
                        type: object
                        required:
                          - addressLine1
                          - city
                          - stateOrProvince
                          - postalCode
                          - country
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: 123 Main Street
                          addressLine2:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Apt 302
                          city:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Boulder
                          stateOrProvince:
                            type: string
                            maxLength: 2
                            example: CO
                          postalCode:
                            type: string
                            maxLength: 5
                            example: '80301'
                          country:
                            type: string
                            maxLength: 2
                            example: US
                      website:
                        type: string
                        format: uri
                    description: |-
                      User-provided information that can be displayed on credit card transactions for customers to use when
                      contacting a customer support team. This data is only allowed on a business account.
                  settings:
                    type: object
                    properties:
                      cardPayment:
                        type: object
                        properties:
                          statementDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            pattern: '[a-zA-Z0-9.!*-+_ ]+'
                            description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                            example: Whole Body Fitness
                        description: User provided settings to manage card payments. This data is only allowed on a business account.
                      achPayment:
                        type: object
                        required:
                          - companyName
                        properties:
                          companyName:
                            type: string
                            minLength: 1
                            maxLength: 16
                            pattern: '[a-zA-Z0-9- ]+'
                            description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                            example: WholeBodyFitness
                    description: User provided settings to manage an account.
                  createdOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  updatedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  disconnectedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                example:
                  mode: sandbox
                  accountID: 53ca67ea-6fd3-423f-9544-ce2404159d33
                  accountType: business
                  displayName: Whole Body Fitness LLC
                  profile:
                    business:
                      legalBusinessName: Whole Body Fitness LLC
                      ownersProvided: false
                  verification:
                    verificationStatus: unverified
                    status: unverified
                  settings:
                    cardPayment:
                      statementDescriptor: Whole Body Fitness LLC
                    achPayment:
                      companyName: Whole Body Fitne
                  createdOn: '2024-12-16T17:55:20.557151867Z'
                  updatedOn: '2024-12-16T17:55:20.557151867Z'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.get({
                accountID: "2f93a6cf-3b3b-4c17-8d3b-110dfadccea4",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accounts->get(
                accountID: '2f93a6cf-3b3b-4c17-8d3b-110dfadccea4'
            );

            if ($response->account !== null) {
                // handle response
            }
        - lang: python
          label: getAccount
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.get(account_id="2f93a6cf-3b3b-4c17-8d3b-110dfadccea4")

                # Handle response
                print(res)
        - lang: java
          label: getAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetAccountResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetAccountResponse res = sdk.accounts().get()
                            .accountID("2f93a6cf-3b3b-4c17-8d3b-110dfadccea4")
                            .call();

                    if (res.account().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.get(account_id: '2f93a6cf-3b3b-4c17-8d3b-110dfadccea4')

            unless res.account.nil?
              # handle response
            end
    patch:
      operationId: updateAccount
      description: |-
        When **can** profile data be updated:
          + For unverified accounts, all profile data can be edited.
          + During the verification process, missing or incomplete profile data can be edited.
          + Verified accounts can only add missing profile data.

          When **can't** profile data be updated:
          + Verified accounts cannot change any existing profile data.

        If you need to update information in a locked state, please contact Moov support.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
        to specify the `/accounts/{accountID}/profile.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - mode
                  - accountType
                  - displayName
                  - profile
                  - verification
                  - createdOn
                  - updatedOn
                properties:
                  accountID:
                    type: string
                    format: uuid
                    description: Unique identifier for this account.
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  accountType:
                    type: string
                    enum:
                      - individual
                      - business
                      - guest
                    description: The type of entity represented by this account.
                    example: business
                  displayName:
                    type: string
                    maxLength: 64
                    example: Whole Body Fitness
                  profile:
                    type: object
                    properties:
                      individual:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: object
                            required:
                              - firstName
                              - lastName
                            properties:
                              firstName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's first given name.
                                example: Jordan
                              middleName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's second given name, if any.
                                example: Reese
                              lastName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: The individual's family name.
                                example: Lee
                              suffix:
                                type: string
                                maxLength: 20
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                description: Suffix of a given name.
                                example: Jr
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          birthDateProvided:
                            type: boolean
                            description: Indicates whether this individual's birth date has been provided.
                          governmentIDProvided:
                            type: boolean
                            description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
                        description: Describes an individual.
                      business:
                        type: object
                        required:
                          - legalBusinessName
                          - ownersProvided
                        properties:
                          legalBusinessName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: The legal name under which the entity is registered.
                            example: Classbooker, LLC
                          doingBusinessAs:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                            description: A registered trade name under which the business operates, if different from its legal name.
                          businessType:
                            type: string
                            enum:
                              - soleProprietorship
                              - unincorporatedAssociation
                              - trust
                              - publicCorporation
                              - privateCorporation
                              - llc
                              - partnership
                              - unincorporatedNonProfit
                              - incorporatedNonProfit
                              - governmentEntity
                            description: The type of entity represented by this business.
                            example: llc
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          website:
                            type: string
                            format: uri
                            maxLength: 100
                          description:
                            type: string
                            minLength: 10
                            maxLength: 100
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Local fitness gym paying out instructors
                          taxIDProvided:
                            type: boolean
                            description: Indicates whether a tax ID has been provided for this business.
                          representatives:
                            type: array
                            items:
                              type: object
                              required:
                                - representativeID
                                - name
                                - createdOn
                                - updatedOn
                              properties:
                                representativeID:
                                  type: string
                                  format: uuid
                                  description: Unique identifier for this representative.
                                name:
                                  type: object
                                  required:
                                    - firstName
                                    - lastName
                                  properties:
                                    firstName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's first given name.
                                      example: Jordan
                                    middleName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's second given name, if any.
                                      example: Reese
                                    lastName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's family name.
                                      example: Lee
                                    suffix:
                                      type: string
                                      maxLength: 20
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: Suffix of a given name.
                                      example: Jr
                                phone:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      maxLength: 10
                                      example: '8185551212'
                                    countryCode:
                                      type: string
                                      maxLength: 1
                                      example: '1'
                                email:
                                  type: string
                                  maxLength: 255
                                  format: email
                                  example: jordan.lee@classbooker.dev
                                address:
                                  type: object
                                  required:
                                    - addressLine1
                                    - city
                                    - stateOrProvince
                                    - postalCode
                                    - country
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: 123 Main Street
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Apt 302
                                    city:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Boulder
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                      example: CO
                                    postalCode:
                                      type: string
                                      maxLength: 5
                                      example: '80301'
                                    country:
                                      type: string
                                      maxLength: 2
                                      example: US
                                birthDateProvided:
                                  type: boolean
                                  description: Indicates whether this representative's birth date has been provided.
                                governmentIDProvided:
                                  type: boolean
                                  description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                                responsibilities:
                                  type: object
                                  properties:
                                    isController:
                                      type: boolean
                                      description: Indicates whether this individual has significant management responsibilities within the business.
                                    isOwner:
                                      type: boolean
                                      description: |-
                                        If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                                        business. If the representative does not own at least 25% of the business, this field should be `false`.
                                    ownershipPercentage:
                                      type: integer
                                      description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                                      example: 38
                                    jobTitle:
                                      type: string
                                      maxLength: 64
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: CEO
                                  description: Describes the job responsibilities of a business representative.
                                createdOn:
                                  type: string
                                  format: date-time
                                updatedOn:
                                  type: string
                                  format: date-time
                                disabledOn:
                                  type: string
                                  format: date-time
                              description: Describes a business representative.
                          ownersProvided:
                            type: boolean
                          industryCodes:
                            type: object
                            properties:
                              naics:
                                type: string
                                minLength: 2
                                maxLength: 6
                                example: '713940'
                              sic:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7991'
                              mcc:
                                type: string
                                minLength: 4
                                maxLength: 4
                                example: '7997'
                          primaryRegulator:
                            type: string
                            enum:
                              - OCC
                              - FDIC
                              - NCUA
                              - FRB
                              - state-cu-regulator
                            description: If the business is a financial institution, this field describes its primary regulator.
                        description: Describes a business.
                      guest:
                        type: object
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: |-
                              The name associated with the guest account.
                              This will default to "Guest {accountIDfirst8}" if no other name is provided.
                            example: Guest 75e5fbb8
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                        description: Describes a guest account profile.
                    description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  termsOfService:
                    type: object
                    required:
                      - acceptedDate
                      - acceptedIP
                    properties:
                      acceptedDate:
                        type: string
                        format: date-time
                        description: The date and time the terms of service were accepted.
                      acceptedIP:
                        type: string
                        format: ipv4
                        description: The IP address from which the terms of service were accepted.
                        example: 172.217.2.46
                    description: Describes the acceptance of the Terms of Service.
                  capabilities:
                    type: array
                    items:
                      type: object
                      required:
                        - capability
                        - status
                      properties:
                        capability:
                          type: string
                        status:
                          type: string
                      description: Describes an action or set of actions that an account is permitted to perform.
                  verification:
                    type: object
                    required:
                      - status
                    properties:
                      verificationStatus:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - resubmit
                          - review
                          - verified
                          - failed
                        description: Possible states an account verification can be in.
                        deprecated: true
                      status:
                        type: string
                        enum:
                          - unverified
                          - pending
                          - verified
                          - errored
                        description: Possible states an account verification can be in.
                        deprecated: true
                      details:
                        type: string
                        enum:
                          - failedAutoVerify
                          - docDobMismatch
                          - docNameMismatch
                          - docAddressMismatch
                          - docNumberMismatch
                          - docIncomplete
                          - docFailedRisk
                          - potentialAccountSanctionsMatch
                          - potentialRepresentativeSanctionsMatch
                          - failedOther
                        description: Additional detail for a verification status.
                        deprecated: true
                      documents:
                        type: array
                        items:
                          type: object
                          required:
                            - documentID
                            - type
                            - contentType
                            - uploadedAt
                          properties:
                            documentID:
                              type: string
                              format: uuid
                              example: e07e83e8-9429-4e99-ac99-c941f719eb39
                            type:
                              type: string
                              enum:
                                - driversLicense
                                - passport
                                - utilityBill
                                - bankStatement
                              description: Types of documents that can be uploaded.
                              example: bankStatement
                            contentType:
                              type: string
                              description: The document's MIME type.
                              example: application/pdf
                            parseErrors:
                              type: array
                              items:
                                type: string
                              description: Optional array of errors encountered during automated parsing.
                            uploadedAt:
                              type: string
                              format: date-time
                              example: '2024-05-06T12:20:38.184Z'
                    description: Describes identity verification status and relevant identity verification documents.
                  foreignID:
                    type: string
                    maxLength: 64
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                  customerSupport:
                    type: object
                    properties:
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                            maxLength: 10
                            example: '8185551212'
                          countryCode:
                            type: string
                            maxLength: 1
                            example: '1'
                      email:
                        type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                      address:
                        type: object
                        required:
                          - addressLine1
                          - city
                          - stateOrProvince
                          - postalCode
                          - country
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: 123 Main Street
                          addressLine2:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Apt 302
                          city:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Boulder
                          stateOrProvince:
                            type: string
                            maxLength: 2
                            example: CO
                          postalCode:
                            type: string
                            maxLength: 5
                            example: '80301'
                          country:
                            type: string
                            maxLength: 2
                            example: US
                      website:
                        type: string
                        format: uri
                    description: |-
                      User-provided information that can be displayed on credit card transactions for customers to use when
                      contacting a customer support team. This data is only allowed on a business account.
                  settings:
                    type: object
                    properties:
                      cardPayment:
                        type: object
                        properties:
                          statementDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            pattern: '[a-zA-Z0-9.!*-+_ ]+'
                            description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                            example: Whole Body Fitness
                        description: User provided settings to manage card payments. This data is only allowed on a business account.
                      achPayment:
                        type: object
                        required:
                          - companyName
                        properties:
                          companyName:
                            type: string
                            minLength: 1
                            maxLength: 16
                            pattern: '[a-zA-Z0-9- ]+'
                            description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                            example: WholeBodyFitness
                    description: User provided settings to manage an account.
                  createdOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  updatedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                  disconnectedOn:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
                example:
                  mode: sandbox
                  accountID: 53ca67ea-6fd3-423f-9544-ce2404159d33
                  accountType: business
                  displayName: Whole Body Fitness LLC
                  profile:
                    business:
                      legalBusinessName: Whole Body Fitness LLC
                      ownersProvided: false
                  verification:
                    verificationStatus: unverified
                    status: unverified
                  settings:
                    cardPayment:
                      statementDescriptor: Whole Body Fitness LLC
                    achPayment:
                      companyName: Whole Body Fitne
                  createdOn: '2024-12-16T17:55:20.557151867Z'
                  updatedOn: '2024-12-16T17:55:20.557151867Z'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  profile:
                    type: object
                    properties:
                      individual:
                        type: object
                        properties:
                          name:
                            type: object
                            properties:
                              firstName:
                                type: string
                              middleName:
                                type: string
                              lastName:
                                type: string
                              suffix:
                                type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                type: string
                          email:
                            type: string
                          address:
                            type: object
                            properties:
                              addressLine1:
                                type: string
                              addressLine2:
                                type: string
                              city:
                                type: string
                              stateOrProvince:
                                type: string
                              postalCode:
                                type: string
                              country:
                                type: string
                          birthDate:
                            type: object
                            properties:
                              day:
                                type: string
                              month:
                                type: string
                              year:
                                type: string
                          governmentID:
                            type: object
                            properties:
                              ssn:
                                type: object
                                properties:
                                  full:
                                    type: string
                                  lastFour:
                                    type: string
                              itin:
                                type: object
                                properties:
                                  full:
                                    type: string
                                  lastFour:
                                    type: string
                      business:
                        type: object
                        properties:
                          legalBusinessName:
                            type: string
                          doingBusinessAs:
                            type: string
                          businessType:
                            type: string
                          address:
                            type: object
                            properties:
                              addressLine1:
                                type: string
                              addressLine2:
                                type: string
                              city:
                                type: string
                              stateOrProvince:
                                type: string
                              postalCode:
                                type: string
                              country:
                                type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                type: string
                          email:
                            type: string
                          website:
                            type: string
                          description:
                            type: string
                          taxID:
                            type: object
                            properties:
                              ein:
                                type: object
                                properties:
                                  number:
                                    type: string
                          industryCodes:
                            type: object
                            properties:
                              naics:
                                type: string
                              sic:
                                type: string
                              mcc:
                                type: string
                          primaryRegulator:
                            type: string
                  metadata:
                    type: string
                  termsOfService:
                    type: object
                    properties:
                      token:
                        type: string
                      manual:
                        type: object
                        properties:
                          acceptedDate:
                            type: string
                          acceptedDomain:
                            type: string
                          acceptedIP:
                            type: string
                          acceptedUserAgent:
                            type: string
                  foreignID:
                    type: string
                  customerSupport:
                    type: object
                    properties:
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                          countryCode:
                            type: string
                      email:
                        type: string
                      address:
                        type: object
                        properties:
                          addressLine1:
                            type: string
                          addressLine2:
                            type: string
                          city:
                            type: string
                          stateOrProvince:
                            type: string
                          postalCode:
                            type: string
                          country:
                            type: string
                      website:
                        type: string
                  settings:
                    type: object
                    properties:
                      cardPayment:
                        type: object
                        properties:
                          statementDescriptor:
                            type: string
                      achPayment:
                        type: object
                        properties:
                          companyName:
                            type: string
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                profile:
                  type: object
                  properties:
                    individual:
                      type: object
                      properties:
                        name:
                          type: object
                          properties:
                            firstName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's first given name.
                              example: Jordan
                            middleName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's second given name, if any.
                              example: Reese
                            lastName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: The individual's family name.
                              example: Lee
                            suffix:
                              type: string
                              maxLength: 20
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                              description: Suffix of a given name.
                              example: Jr
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        address:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        birthDate:
                          type: object
                          properties:
                            day:
                              type: integer
                              example: 9
                            month:
                              type: integer
                              example: 11
                            year:
                              type: integer
                              example: 1989
                        governmentID:
                          type: object
                          properties:
                            ssn:
                              type: object
                              properties:
                                full:
                                  type: string
                                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                lastFour:
                                  type: string
                            itin:
                              type: object
                              properties:
                                full:
                                  type: string
                                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                lastFour:
                                  type: string
                      description: Describes the fields available when patching an individual.
                    business:
                      type: object
                      properties:
                        legalBusinessName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                        doingBusinessAs:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                        businessType:
                          type: string
                          enum:
                            - soleProprietorship
                            - unincorporatedAssociation
                            - trust
                            - publicCorporation
                            - privateCorporation
                            - llc
                            - partnership
                            - unincorporatedNonProfit
                            - incorporatedNonProfit
                            - governmentEntity
                          description: The type of entity represented by this business.
                          example: llc
                        address:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        website:
                          type: string
                          maxLength: 100
                        description:
                          type: string
                          minLength: 10
                          maxLength: 100
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        taxID:
                          type: object
                          properties:
                            ein:
                              type: object
                              properties:
                                number:
                                  type: string
                                  example: 12-3456789
                          description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                        ownersProvided:
                          type: boolean
                        industryCodes:
                          type: object
                          properties:
                            naics:
                              type: string
                              minLength: 2
                              maxLength: 6
                              example: '713940'
                            sic:
                              type: string
                              minLength: 4
                              maxLength: 4
                              example: '7991'
                            mcc:
                              type: string
                              minLength: 4
                              maxLength: 4
                              example: '7997'
                        primaryRegulator:
                          type: string
                          enum:
                            - OCC
                            - FDIC
                            - NCUA
                            - FRB
                            - state-cu-regulator
                          description: If the business is a financial institution, this field describes its primary regulator.
                  description: |-
                    Describes the fields available when patching a profile.
                    Each object can be patched independent of patching the other fields.
                metadata:
                  type: object
                  allOf:
                    - type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                  nullable: true
                termsOfService:
                  oneOf:
                    - type: object
                      properties:
                        token:
                          type: string
                          example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                      description: An encrypted value used to record acceptance of Moov's Terms of Service.
                      title: Token
                    - type: object
                      properties:
                        acceptedDate:
                          type: string
                          format: date-time
                          description: The date and time the terms of service were accepted.
                        acceptedIP:
                          type: string
                          format: ipv4
                          description: The IP address from which the terms of service were accepted.
                          example: 172.217.2.46
                        acceptedUserAgent:
                          type: string
                          maxLength: 255
                          description: The user-agent of the user making the request.
                          example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                        acceptedDomain:
                          type: string
                          format: uri
                      description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                      title: Manual
                foreignID:
                  type: string
                customerSupport:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        address:
                          type: object
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        website:
                          type: string
                          format: uri
                      description: |-
                        User-provided information that can be displayed on credit card transactions for customers to use when
                        contacting a customer support team. This data is only allowed on a business account.
                  nullable: true
                settings:
                  type: object
                  properties:
                    cardPayment:
                      type: object
                      properties:
                        statementDescriptor:
                          type: string
                    achPayment:
                      type: object
                      properties:
                        companyName:
                          type: string
              description: Describes the fields available when patching a Moov account.
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.update({
                accountID: "433cb9d1-5943-4fd5-91b4-2aef5b30e2e7",
                patchAccount: {
                  profile: {
                    individual: {
                      name: {
                        firstName: "Jordan",
                        middleName: "Reese",
                        lastName: "Lee",
                        suffix: "Jr",
                      },
                      phone: {
                        number: "8185551212",
                        countryCode: "1",
                      },
                      email: "jordan.lee@classbooker.dev",
                      address: {
                        addressLine1: "123 Main Street",
                        addressLine2: "Apt 302",
                        city: "Boulder",
                        stateOrProvince: "CO",
                        postalCode: "80301",
                        country: "US",
                      },
                      birthDate: {
                        day: 9,
                        month: 11,
                        year: 1989,
                      },
                    },
                    business: {
                      businessType: "llc",
                      address: {
                        addressLine1: "123 Main Street",
                        addressLine2: "Apt 302",
                        city: "Boulder",
                        stateOrProvince: "CO",
                        postalCode: "80301",
                        country: "US",
                      },
                      phone: {
                        number: "8185551212",
                        countryCode: "1",
                      },
                      email: "jordan.lee@classbooker.dev",
                      taxID: {
                        ein: {
                          number: "12-3456789",
                        },
                      },
                      industryCodes: {
                        naics: "713940",
                        sic: "7991",
                        mcc: "7997",
                      },
                    },
                  },
                  metadata: {
                    "optional": "metadata",
                  },
                  termsOfService: {
                    token: "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4",
                  },
                  customerSupport: {
                    phone: {
                      number: "8185551212",
                      countryCode: "1",
                    },
                    email: "jordan.lee@classbooker.dev",
                    address: {
                      addressLine1: "123 Main Street",
                      addressLine2: "Apt 302",
                      city: "Boulder",
                      stateOrProvince: "CO",
                      postalCode: "80301",
                      country: "US",
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $patchAccount = new Components\PatchAccount(
                profile: new Components\PatchProfile(
                    individual: new Components\PatchIndividual(
                        name: new Components\IndividualNameUpdate(
                            firstName: 'Jordan',
                            middleName: 'Reese',
                            lastName: 'Lee',
                            suffix: 'Jr',
                        ),
                        phone: new Components\PhoneNumber(
                            number: '8185551212',
                            countryCode: '1',
                        ),
                        email: 'jordan.lee@classbooker.dev',
                        address: new Components\AddressUpdate(
                            addressLine1: '123 Main Street',
                            addressLine2: 'Apt 302',
                            city: 'Boulder',
                            stateOrProvince: 'CO',
                            postalCode: '80301',
                            country: 'US',
                        ),
                        birthDate: new Components\BirthDateUpdate(
                            day: 9,
                            month: 11,
                            year: 1989,
                        ),
                    ),
                    business: new Components\PatchBusiness(
                        businessType: Components\BusinessType::Llc,
                        address: new Components\AddressUpdate(
                            addressLine1: '123 Main Street',
                            addressLine2: 'Apt 302',
                            city: 'Boulder',
                            stateOrProvince: 'CO',
                            postalCode: '80301',
                            country: 'US',
                        ),
                        phone: new Components\PhoneNumber(
                            number: '8185551212',
                            countryCode: '1',
                        ),
                        email: 'jordan.lee@classbooker.dev',
                        taxID: new Components\TaxIDUpdate(
                            ein: new Components\TaxIDUpdateEin(
                                number: '12-3456789',
                            ),
                        ),
                        industryCodes: new Components\IndustryCodes(
                            naics: '713940',
                            sic: '7991',
                            mcc: '7997',
                        ),
                    ),
                ),
                metadata: [
                    'optional' => 'metadata',
                ],
                termsOfService: new Components\TermsOfServiceTokenUpdate(
                    token: 'kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4',
                ),
                customerSupport: new Components\PatchAccountCustomerSupport(
                    phone: new Components\PhoneNumber(
                        number: '8185551212',
                        countryCode: '1',
                    ),
                    email: 'jordan.lee@classbooker.dev',
                    address: new Components\AddressUpdate(
                        addressLine1: '123 Main Street',
                        addressLine2: 'Apt 302',
                        city: 'Boulder',
                        stateOrProvince: 'CO',
                        postalCode: '80301',
                        country: 'US',
                    ),
                ),
            );

            $response = $sdk->accounts->update(
                accountID: '433cb9d1-5943-4fd5-91b4-2aef5b30e2e7',
                patchAccount: $patchAccount

            );

            if ($response->account !== null) {
                // handle response
            }
        - lang: python
          label: updateAccount
          source: |-
            from openapi import SDK, models


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.update(account_id="433cb9d1-5943-4fd5-91b4-2aef5b30e2e7", profile=models.PatchProfile(
                    individual=models.PatchIndividual(
                        name=models.IndividualNameUpdate(
                            first_name="Jordan",
                            middle_name="Reese",
                            last_name="Lee",
                            suffix="Jr",
                        ),
                        phone=models.PhoneNumber(
                            number="8185551212",
                            country_code="1",
                        ),
                        email="jordan.lee@classbooker.dev",
                        address=models.AddressUpdate(
                            address_line1="123 Main Street",
                            address_line2="Apt 302",
                            city="Boulder",
                            state_or_province="CO",
                            postal_code="80301",
                            country="US",
                        ),
                        birth_date=models.BirthDateUpdate(
                            day=9,
                            month=11,
                            year=1989,
                        ),
                    ),
                    business=models.PatchBusiness(
                        business_type="llc",
                        address=models.AddressUpdate(
                            address_line1="123 Main Street",
                            address_line2="Apt 302",
                            city="Boulder",
                            state_or_province="CO",
                            postal_code="80301",
                            country="US",
                        ),
                        phone=models.PhoneNumber(
                            number="8185551212",
                            country_code="1",
                        ),
                        email="jordan.lee@classbooker.dev",
                        tax_id=models.TaxIDUpdate(
                            ein=models.TaxIDUpdateEin(
                                number="12-3456789",
                            ),
                        ),
                        industry_codes=models.IndustryCodes(
                            naics="713940",
                            sic="7991",
                            mcc="7997",
                        ),
                    ),
                ), metadata={
                    "optional": "metadata",
                }, terms_of_service={
                    "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4",
                }, customer_support={
                    "phone": {
                        "number": "8185551212",
                        "country_code": "1",
                    },
                    "email": "jordan.lee@classbooker.dev",
                    "address": {
                        "address_line1": "123 Main Street",
                        "address_line2": "Apt 302",
                        "city": "Boulder",
                        "state_or_province": "CO",
                        "postal_code": "80301",
                        "country": "US",
                    },
                })

                # Handle response
                print(res)
        - lang: java
          label: updateAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.Map;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.PatchAccountError;
            import org.openapis.openapi.models.operations.UpdateAccountResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, PatchAccountError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateAccountResponse res = sdk.accounts().update()
                            .accountID("433cb9d1-5943-4fd5-91b4-2aef5b30e2e7")
                            .patchAccount(PatchAccount.builder()
                                .profile(PatchProfile.builder()
                                    .individual(PatchIndividual.builder()
                                        .name(IndividualNameUpdate.builder()
                                            .firstName("Jordan")
                                            .middleName("Reese")
                                            .lastName("Lee")
                                            .suffix("Jr")
                                            .build())
                                        .phone(PhoneNumber.builder()
                                            .number("8185551212")
                                            .countryCode("1")
                                            .build())
                                        .email("jordan.lee@classbooker.dev")
                                        .address(AddressUpdate.builder()
                                            .addressLine1("123 Main Street")
                                            .addressLine2("Apt 302")
                                            .city("Boulder")
                                            .stateOrProvince("CO")
                                            .postalCode("80301")
                                            .country("US")
                                            .build())
                                        .birthDate(BirthDateUpdate.builder()
                                            .day(9L)
                                            .month(11L)
                                            .year(1989L)
                                            .build())
                                        .build())
                                    .business(PatchBusiness.builder()
                                        .businessType(BusinessType.LLC)
                                        .address(AddressUpdate.builder()
                                            .addressLine1("123 Main Street")
                                            .addressLine2("Apt 302")
                                            .city("Boulder")
                                            .stateOrProvince("CO")
                                            .postalCode("80301")
                                            .country("US")
                                            .build())
                                        .phone(PhoneNumber.builder()
                                            .number("8185551212")
                                            .countryCode("1")
                                            .build())
                                        .email("jordan.lee@classbooker.dev")
                                        .taxID(TaxIDUpdate.builder()
                                            .ein(TaxIDUpdateEin.builder()
                                                .number("12-3456789")
                                                .build())
                                            .build())
                                        .industryCodes(IndustryCodes.builder()
                                            .naics("713940")
                                            .sic("7991")
                                            .mcc("7997")
                                            .build())
                                        .build())
                                    .build())
                                .metadata(Map.ofEntries(
                                    Map.entry("optional", "metadata")))
                                .termsOfService(PatchAccountTermsOfService.of(TermsOfServiceTokenUpdate.builder()
                                    .token("kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4")
                                    .build()))
                                .customerSupport(PatchAccountCustomerSupport.builder()
                                    .phone(PhoneNumber.builder()
                                        .number("8185551212")
                                        .countryCode("1")
                                        .build())
                                    .email("jordan.lee@classbooker.dev")
                                    .address(AddressUpdate.builder()
                                        .addressLine1("123 Main Street")
                                        .addressLine2("Apt 302")
                                        .city("Boulder")
                                        .stateOrProvince("CO")
                                        .postalCode("80301")
                                        .country("US")
                                        .build())
                                    .build())
                                .build())
                            .call();

                    if (res.account().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.update(account_id: '433cb9d1-5943-4fd5-91b4-2aef5b30e2e7', patch_account: Models::Components::PatchAccount.new(
              profile: Models::Components::PatchProfile.new(
                individual: Models::Components::PatchIndividual.new(
                  name: Models::Components::IndividualNameUpdate.new(
                    first_name: 'Jordan',
                    middle_name: 'Reese',
                    last_name: 'Lee',
                    suffix: 'Jr',
                  ),
                  phone: Models::Components::PhoneNumber.new(
                    number: '8185551212',
                    country_code: '1',
                  ),
                  email: 'jordan.lee@classbooker.dev',
                  address: Models::Components::AddressUpdate.new(
                    address_line1: '123 Main Street',
                    address_line2: 'Apt 302',
                    city: 'Boulder',
                    state_or_province: 'CO',
                    postal_code: '80301',
                    country: 'US',
                  ),
                  birth_date: Models::Components::BirthDateUpdate.new(
                    day: 9,
                    month: 11,
                    year: 1989,
                  ),
                ),
                business: Models::Components::PatchBusiness.new(
                  business_type: Models::Components::BusinessType::LLC,
                  address: Models::Components::AddressUpdate.new(
                    address_line1: '123 Main Street',
                    address_line2: 'Apt 302',
                    city: 'Boulder',
                    state_or_province: 'CO',
                    postal_code: '80301',
                    country: 'US',
                  ),
                  phone: Models::Components::PhoneNumber.new(
                    number: '8185551212',
                    country_code: '1',
                  ),
                  email: 'jordan.lee@classbooker.dev',
                  tax_id: Models::Components::TaxIDUpdate.new(
                    ein: Models::Components::TaxIDUpdateEin.new(
                      number: '12-3456789',
                    ),
                  ),
                  industry_codes: Models::Components::IndustryCodes.new(
                    naics: '713940',
                    sic: '7991',
                    mcc: '7997',
                  ),
                ),
              ),
              metadata: {
                "optional": 'metadata',
              },
              terms_of_service: Models::Components::TermsOfServiceTokenUpdate.new(
                token: 'kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4',
              ),
              customer_support: Models::Components::PatchAccountCustomerSupport.new(
                phone: Models::Components::PhoneNumber.new(
                  number: '8185551212',
                  country_code: '1',
                ),
                email: 'jordan.lee@classbooker.dev',
                address: Models::Components::AddressUpdate.new(
                  address_line1: '123 Main Street',
                  address_line2: 'Apt 302',
                  city: 'Boulder',
                  state_or_province: 'CO',
                  postal_code: '80301',
                  country: 'US',
                ),
              ),
            ))

            unless res.account.nil?
              # handle response
            end
    delete:
      operationId: disconnectAccount
      description: |-
        This will sever the connection between you and the account specified and it will no longer be listed as 
        active in the list of accounts. This also means you'll only have read-only access to the account going 
        forward for reporting purposes.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.disconnect` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-speakeasy-name-override: disconnect
      x-codeSamples:
        - lang: typescript
          label: disconnectAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.disconnect({
                accountID: "cfdfea7d-f185-4de5-ba90-b09f14fe6683",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: disconnectAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accounts->disconnect(
                accountID: 'cfdfea7d-f185-4de5-ba90-b09f14fe6683'
            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: disconnectAccount
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.disconnect(account_id="cfdfea7d-f185-4de5-ba90-b09f14fe6683")

                # Handle response
                print(res)
        - lang: java
          label: disconnectAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DisconnectAccountResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DisconnectAccountResponse res = sdk.accounts().disconnect()
                            .accountID("cfdfea7d-f185-4de5-ba90-b09f14fe6683")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: disconnectAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.disconnect(account_id: 'cfdfea7d-f185-4de5-ba90-b09f14fe6683')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/adjustments:
    get:
      operationId: listAdjustments
      description: |-
        List adjustments associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: walletID
          in: query
          required: false
          description: A wallet ID to filter adjustments by.
          schema:
            type: string
            format: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - adjustmentID
                    - walletID
                    - amount
                    - createdOn
                  properties:
                    adjustmentID:
                      type: string
                      format: uuid
                    walletID:
                      type: string
                      format: uuid
                    amount:
                      type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                    createdOn:
                      type: string
                      format: date-time
                  description: An adjustment to a wallet.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Adjustments
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listAdjustments
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.adjustments.list({
                accountID: "c054f3a6-d542-4310-a955-830739f800f0",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listAdjustments
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->adjustments->list(
                accountID: 'c054f3a6-d542-4310-a955-830739f800f0'
            );

            if ($response->adjustments !== null) {
                // handle response
            }
        - lang: python
          label: listAdjustments
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.adjustments.list(account_id="c054f3a6-d542-4310-a955-830739f800f0")

                # Handle response
                print(res)
        - lang: java
          label: listAdjustments
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListAdjustmentsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListAdjustmentsResponse res = sdk.adjustments().list()
                            .accountID("c054f3a6-d542-4310-a955-830739f800f0")
                            .call();

                    if (res.adjustments().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listAdjustments
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.adjustments.list(account_id: 'c054f3a6-d542-4310-a955-830739f800f0')

            unless res.adjustments.nil?
              # handle response
            end
  /accounts/{accountID}/adjustments/{adjustmentID}:
    get:
      operationId: getAdjustment
      description: |-
        Retrieve a specific adjustment associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: adjustmentID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - adjustmentID
                  - walletID
                  - amount
                  - createdOn
                properties:
                  adjustmentID:
                    type: string
                    format: uuid
                  walletID:
                    type: string
                    format: uuid
                  amount:
                    type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                  createdOn:
                    type: string
                    format: date-time
                description: An adjustment to a wallet.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Adjustments
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getAdjustment
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.adjustments.get({
                accountID: "3ef4e658-8aaa-449f-a7a4-95a6839172a1",
                adjustmentID: "cbe4a8e7-605f-4667-a308-1afde85cd7a5",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getAdjustment
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->adjustments->get(
                accountID: '3ef4e658-8aaa-449f-a7a4-95a6839172a1',
                adjustmentID: 'cbe4a8e7-605f-4667-a308-1afde85cd7a5'

            );

            if ($response->adjustment !== null) {
                // handle response
            }
        - lang: python
          label: getAdjustment
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.adjustments.get(account_id="3ef4e658-8aaa-449f-a7a4-95a6839172a1", adjustment_id="cbe4a8e7-605f-4667-a308-1afde85cd7a5")

                # Handle response
                print(res)
        - lang: java
          label: getAdjustment
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetAdjustmentResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetAdjustmentResponse res = sdk.adjustments().get()
                            .accountID("3ef4e658-8aaa-449f-a7a4-95a6839172a1")
                            .adjustmentID("cbe4a8e7-605f-4667-a308-1afde85cd7a5")
                            .call();

                    if (res.adjustment().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getAdjustment
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.adjustments.get(account_id: '3ef4e658-8aaa-449f-a7a4-95a6839172a1', adjustment_id: 'cbe4a8e7-605f-4667-a308-1afde85cd7a5')

            unless res.adjustment.nil?
              # handle response
            end
  /accounts/{accountID}/apple-pay/domains:
    post:
      operationId: registerApplePayMerchantDomains
      description: |-
        Add domains to be registered with Apple Pay.

        Any domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) 
        with Apple.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the Moov account representing the merchant.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - displayName
                  - domains
                  - createdOn
                  - updatedOn
                properties:
                  accountID:
                    type: string
                  displayName:
                    type: string
                    maxLength: 64
                    description: A UTF-8 string to display in the Buy button.
                  domains:
                    type: array
                    items:
                      type: string
                    description: A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay.
                    example:
                      - checkout.classbooker.dev
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Apple pay
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                displayName:
                  type: string
                  maxLength: 64
                  description: A UTF-8 string to display in the Buy button.
                domains:
                  type: array
                  items:
                    type: string
                  description: A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay.
                  example:
                    - checkout.classbooker.dev
      x-speakeasy-name-override: registerMerchantDomains
      x-codeSamples:
        - lang: typescript
          label: registerApplePayMerchantDomains
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.applePay.registerMerchantDomains({
                accountID: "60825531-8c7e-421c-8014-019c6603250c",
                registerApplePayMerchantDomains: {
                  domains: [
                    "checkout.classbooker.dev",
                  ],
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: registerApplePayMerchantDomains
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $registerApplePayMerchantDomains = new Components\RegisterApplePayMerchantDomains(
                domains: [
                    'checkout.classbooker.dev',
                ],
            );

            $response = $sdk->applePay->registerMerchantDomains(
                accountID: '60825531-8c7e-421c-8014-019c6603250c',
                registerApplePayMerchantDomains: $registerApplePayMerchantDomains

            );

            if ($response->applePayMerchantDomains !== null) {
                // handle response
            }
        - lang: python
          label: registerApplePayMerchantDomains
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.apple_pay.register_merchant_domains(account_id="60825531-8c7e-421c-8014-019c6603250c", domains=[
                    "checkout.classbooker.dev",
                ])

                # Handle response
                print(res)
        - lang: java
          label: registerApplePayMerchantDomains
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.RegisterApplePayMerchantDomains;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.RegisterApplePayMerchantDomainsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RegisterApplePayMerchantDomainsResponse res = sdk.applePay().registerMerchantDomains()
                            .accountID("60825531-8c7e-421c-8014-019c6603250c")
                            .registerApplePayMerchantDomains(RegisterApplePayMerchantDomains.builder()
                                .domains(List.of(
                                    "checkout.classbooker.dev"))
                                .build())
                            .call();

                    if (res.applePayMerchantDomains().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: registerApplePayMerchantDomains
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.apple_pay.register_merchant_domains(account_id: '60825531-8c7e-421c-8014-019c6603250c', register_apple_pay_merchant_domains: Models::Components::RegisterApplePayMerchantDomains.new(
              domains: [
                'checkout.classbooker.dev',
              ],
            ))

            unless res.apple_pay_merchant_domains.nil?
              # handle response
            end
    patch:
      operationId: updateApplePayMerchantDomains
      description: |-
        Add or remove domains to be registered with Apple Pay. 

        Any domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) 
        with Apple.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the Moov account representing the merchant.
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Apple pay
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                addDomains:
                  type: array
                  items:
                    type: string
                  description: A unique list of fully-qualified, top-level or sub-domain names to add.
                  example:
                    - pay.classbooker.dev
                removeDomains:
                  type: array
                  items:
                    type: string
                  description: A unique list of fully-qualified, top-level or sub-domain names to remove.
                  example:
                    - checkout.classbooker.dev
      x-speakeasy-name-override: updateMerchantDomains
      x-codeSamples:
        - lang: typescript
          label: updateApplePayMerchantDomains
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.applePay.updateMerchantDomains({
                accountID: "34b1c132-91d4-4676-9864-87e1d961d56d",
                updateApplePayMerchantDomains: {
                  addDomains: [
                    "pay.classbooker.dev",
                  ],
                  removeDomains: [
                    "checkout.classbooker.dev",
                  ],
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateApplePayMerchantDomains
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateApplePayMerchantDomains = new Components\UpdateApplePayMerchantDomains(
                addDomains: [
                    'pay.classbooker.dev',
                ],
                removeDomains: [
                    'checkout.classbooker.dev',
                ],
            );

            $response = $sdk->applePay->updateMerchantDomains(
                accountID: '34b1c132-91d4-4676-9864-87e1d961d56d',
                updateApplePayMerchantDomains: $updateApplePayMerchantDomains

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: updateApplePayMerchantDomains
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.apple_pay.update_merchant_domains(account_id="34b1c132-91d4-4676-9864-87e1d961d56d", add_domains=[
                    "pay.classbooker.dev",
                ], remove_domains=[
                    "checkout.classbooker.dev",
                ])

                # Handle response
                print(res)
        - lang: java
          label: updateApplePayMerchantDomains
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpdateApplePayMerchantDomains;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UpdateApplePayMerchantDomainsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateApplePayMerchantDomainsResponse res = sdk.applePay().updateMerchantDomains()
                            .accountID("34b1c132-91d4-4676-9864-87e1d961d56d")
                            .updateApplePayMerchantDomains(UpdateApplePayMerchantDomains.builder()
                                .addDomains(List.of(
                                    "pay.classbooker.dev"))
                                .removeDomains(List.of(
                                    "checkout.classbooker.dev"))
                                .build())
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: updateApplePayMerchantDomains
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.apple_pay.update_merchant_domains(account_id: '34b1c132-91d4-4676-9864-87e1d961d56d', update_apple_pay_merchant_domains: Models::Components::UpdateApplePayMerchantDomains.new(
              add_domains: [
                'pay.classbooker.dev',
              ],
              remove_domains: [
                'checkout.classbooker.dev',
              ],
            ))

            if res.status_code == 200
              # handle response
            end
    get:
      operationId: getApplePayMerchantDomains
      description: |-
        Get domains registered with Apple Pay. 

        Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/apple-pay.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the Moov account representing the merchant.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - displayName
                  - domains
                  - createdOn
                  - updatedOn
                properties:
                  accountID:
                    type: string
                  displayName:
                    type: string
                    maxLength: 64
                    description: A UTF-8 string to display in the Buy button.
                  domains:
                    type: array
                    items:
                      type: string
                    description: A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay.
                    example:
                      - checkout.classbooker.dev
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Apple pay
      x-speakeasy-name-override: getMerchantDomains
      x-codeSamples:
        - lang: typescript
          label: getApplePayMerchantDomains
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.applePay.getMerchantDomains({
                accountID: "28704d00-d07b-47db-9e54-016a9713d697",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getApplePayMerchantDomains
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->applePay->getMerchantDomains(
                accountID: '28704d00-d07b-47db-9e54-016a9713d697'
            );

            if ($response->applePayMerchantDomains !== null) {
                // handle response
            }
        - lang: python
          label: getApplePayMerchantDomains
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.apple_pay.get_merchant_domains(account_id="28704d00-d07b-47db-9e54-016a9713d697")

                # Handle response
                print(res)
        - lang: java
          label: getApplePayMerchantDomains
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetApplePayMerchantDomainsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetApplePayMerchantDomainsResponse res = sdk.applePay().getMerchantDomains()
                            .accountID("28704d00-d07b-47db-9e54-016a9713d697")
                            .call();

                    if (res.applePayMerchantDomains().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getApplePayMerchantDomains
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.apple_pay.get_merchant_domains(account_id: '28704d00-d07b-47db-9e54-016a9713d697')

            unless res.apple_pay_merchant_domains.nil?
              # handle response
            end
  /accounts/{accountID}/apple-pay/sessions:
    post:
      operationId: createApplePaySession
      description: |-
        Create a session with Apple Pay to facilitate a payment. 

        Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. 
        A successful response from this endpoint should be passed through to Apple Pay unchanged. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the Moov account representing the merchant.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: string
                description: |-
                  Stringified session object returned from Apple Pay.

                  The string value should be deserialized as a JSON object before passing to Apple.
                example: '{"epochTimestamp":1733783167685,"expiresAt":1733786767685...}'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Apple pay
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - domain
                - displayName
              properties:
                domain:
                  type: string
                  description: A fully qualified top-level or sub-domain name where you will accept Apple Pay. Should not include "https".
                  example: checkout.classbooker.dev
                displayName:
                  type: string
                  maxLength: 64
                  description: A UTF-8 string to display in the Buy button.
      x-speakeasy-name-override: createSession
      x-codeSamples:
        - lang: typescript
          label: createApplePaySession
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.applePay.createSession({
                accountID: "32ab62ca-7afd-4f49-89cb-0bb237258f23",
                createApplePaySession: {
                  domain: "checkout.classbooker.dev",
                  displayName: "Fay11",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createApplePaySession
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createApplePaySession = new Components\CreateApplePaySession(
                domain: 'checkout.classbooker.dev',
                displayName: 'Fay11',
            );

            $response = $sdk->applePay->createSession(
                accountID: '32ab62ca-7afd-4f49-89cb-0bb237258f23',
                createApplePaySession: $createApplePaySession

            );

            if ($response->applePaySession !== null) {
                // handle response
            }
        - lang: python
          label: createApplePaySession
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.apple_pay.create_session(account_id="32ab62ca-7afd-4f49-89cb-0bb237258f23", domain="checkout.classbooker.dev", display_name="Fay11")

                # Handle response
                print(res)
        - lang: java
          label: createApplePaySession
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateApplePaySession;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateApplePaySessionResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateApplePaySessionResponse res = sdk.applePay().createSession()
                            .accountID("32ab62ca-7afd-4f49-89cb-0bb237258f23")
                            .createApplePaySession(CreateApplePaySession.builder()
                                .domain("checkout.classbooker.dev")
                                .displayName("Fay11")
                                .build())
                            .call();

                    if (res.applePaySession().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createApplePaySession
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.apple_pay.create_session(account_id: '32ab62ca-7afd-4f49-89cb-0bb237258f23', create_apple_pay_session: Models::Components::CreateApplePaySession.new(
              domain: 'checkout.classbooker.dev',
              display_name: 'Fay11',
            ))

            unless res.apple_pay_session.nil?
              # handle response
            end
  /accounts/{accountID}/apple-pay/tokens:
    post:
      operationId: linkApplePayToken
      description: |-
        Connect an Apple Pay token to the specified account. 

        Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more. 
        The `token` data is defined by Apple Pay and should be passed through from Apple Pay's response unmodified.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the Moov account representing the cardholder.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - applePay
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: The new payment method's ID.
                  paymentMethodType:
                    type: string
                    enum:
                      - moov-wallet
                      - ach-debit-fund
                      - ach-debit-collect
                      - ach-credit-standard
                      - ach-credit-same-day
                      - rtp-credit
                      - card-payment
                      - push-to-card
                      - pull-from-card
                      - apple-pay
                      - card-present-payment
                    description: The payment method type that represents a payment rail and directionality
                  applePay:
                    type: object
                    required:
                      - brand
                      - cardType
                      - cardDisplayName
                      - fingerprint
                      - expiration
                      - dynamicLastFour
                    properties:
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      cardDisplayName:
                        type: string
                        description: |2-
                            User-friendly name of the tokenized card returned by Apple.
                            
                            It usually contains the brand and the last four digits of the underlying card.
                            There is no standard format.
                        example: Visa 1256
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      dynamicLastFour:
                        type: string
                        description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                      issuerCountry:
                        type: string
                        description: Country where the underlying card was issued.
                        example: US
                    description: Describes an Apple Pay token on a Moov 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Describes an error that wasn't attributable to a single request field.
                  paymentData:
                    type: string
                    description: Describes an error within the `token.paymentData` request field.
                  paymentMethod:
                    type: string
                    description: Describes an error within the `token.paymentMethod` request field.
                  transactionIdentifier:
                    type: string
                    description: Describes an error within the `token.transactionIdentifier` request field.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Apple pay
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - token
              properties:
                token:
                  type: object
                  required:
                    - paymentData
                    - paymentMethod
                    - transactionIdentifier
                  properties:
                    paymentData:
                      type: object
                      required:
                        - version
                        - data
                        - signature
                        - header
                      properties:
                        version:
                          type: string
                          description: Specifies the encryption used for the payment token ("EC_v1" or "RSA_v1").
                          example: EC_v1
                        data:
                          type: string
                          description: The encrypted, base64-encoded payment data.
                          example: 3+f4oOTwPa6f1UZ6tG...CE=
                        signature:
                          type: string
                          description: A base64 encoded signature of the payment and header data.
                          example: MIAGCSqGSIb3DQ.AAAA==
                        header:
                          type: object
                          required:
                            - publicKeyHash
                            - transactionId
                          properties:
                            ephemeralPublicKey:
                              type: string
                              description: Base64-encoded ephemeral public key, used for ECC-encrypted payment data.
                              example: MFkwEK...Md==
                            publicKeyHash:
                              type: string
                              description: A base64-encoded, SHA-256 hash of the merchant's public key.
                              example: l0CnXdMv...D1I=
                            transactionId:
                              type: string
                              description: A device-generated identifier for the transaction.
                              example: 32b...4f3
                          description: |-
                            Information needed to decrypt Apple Pay payment data.

                            Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) 
                            for more information.
                      description: |2-
                          Contains the encrypted payment data.

                          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916115-paymentdata) 
                          for more information.
                    paymentMethod:
                      type: object
                      required:
                        - displayName
                        - network
                        - type
                      properties:
                        displayName:
                          type: string
                          description: A display-friendly discription of the card.
                          example: Visa 1234
                        network:
                          type: string
                          description: The card's payment network.
                          example: Visa
                        type:
                          type: string
                          description: The type of card.
                          example: debit
                      description: |2-
                          Provides information about the underlying card.

                          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916113-paymentmethod) 
                          for more information.
                    transactionIdentifier:
                      type: string
                      description: A unique identifier provided by Apple Pay for this payment.
                      example: 32b...4f3
                  description: |2-
                      Contains the user's payment information as returned from Apple Pay.

                      Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken) 
                      for more information.
                billingContact:
                  type: object
                  properties:
                    addressLines:
                      type: array
                      items:
                        type: string
                      description: Address lines 1 and 2 for the contact.
                      example:
                        - 123 Sesame Street
                    locality:
                      type: string
                      description: The contact's city.
                      example: Phoenix
                    postalCode:
                      type: string
                      description: The contact's postal code.
                      example: '30345'
                    administrativeArea:
                      type: string
                      description: The contact's two-letter state code.
                      example: AZ
                    countryCode:
                      type: string
                      description: The contact's two-letter ISO 3166
                      example: US
                  description: |2-
                      Billing contact information as returned from Apple Pay.
                      
                      Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentcontact) 
                      for more information.
              description: |2-
                  The JSON structure returned from Apple Pay when authorizing a payment session.

                  Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment) 
                  for more information.
      x-speakeasy-name-override: linkToken
      x-codeSamples:
        - lang: typescript
          label: linkApplePayToken
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.applePay.linkToken({
                accountID: "bf498c07-3852-4060-b561-bf992e26a851",
                linkApplePay: {
                  token: {
                    paymentData: {
                      version: "EC_v1",
                      data: "3+f4oOTwPa6f1UZ6tG...CE=",
                      signature: "MIAGCSqGSIb3DQ.AAAA==",
                      header: {
                        ephemeralPublicKey: "MFkwEK...Md==",
                        publicKeyHash: "l0CnXdMv...D1I=",
                        transactionId: "32b...4f3",
                      },
                    },
                    paymentMethod: {
                      displayName: "Visa 1234",
                      network: "Visa",
                      type: "debit",
                    },
                    transactionIdentifier: "32b...4f3",
                  },
                  billingContact: {
                    addressLines: [
                      "123 Sesame Street",
                    ],
                    locality: "Phoenix",
                    postalCode: "30345",
                    administrativeArea: "AZ",
                    countryCode: "US",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: linkApplePayToken
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $linkApplePay = new Components\LinkApplePay(
                token: new Components\LinkApplePayToken(
                    paymentData: new Components\LinkApplePaymentData(
                        version: 'EC_v1',
                        data: '3+f4oOTwPa6f1UZ6tG...CE=',
                        signature: 'MIAGCSqGSIb3DQ.AAAA==',
                        header: new Components\ApplePayHeader(
                            ephemeralPublicKey: 'MFkwEK...Md==',
                            publicKeyHash: 'l0CnXdMv...D1I=',
                            transactionId: '32b...4f3',
                        ),
                    ),
                    paymentMethod: new Components\LinkApplePaymentMethod(
                        displayName: 'Visa 1234',
                        network: 'Visa',
                        type: 'debit',
                    ),
                    transactionIdentifier: '32b...4f3',
                ),
                billingContact: new Components\AppleBillingContact(
                    addressLines: [
                        '123 Sesame Street',
                    ],
                    locality: 'Phoenix',
                    postalCode: '30345',
                    administrativeArea: 'AZ',
                    countryCode: 'US',
                ),
            );

            $response = $sdk->applePay->linkToken(
                accountID: 'bf498c07-3852-4060-b561-bf992e26a851',
                linkApplePay: $linkApplePay

            );

            if ($response->linkedApplePayPaymentMethod !== null) {
                // handle response
            }
        - lang: python
          label: linkApplePayToken
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.apple_pay.link_token(account_id="bf498c07-3852-4060-b561-bf992e26a851", token={
                    "payment_data": {
                        "version": "EC_v1",
                        "data": "3+f4oOTwPa6f1UZ6tG...CE=",
                        "signature": "MIAGCSqGSIb3DQ.AAAA==",
                        "header": {
                            "ephemeral_public_key": "MFkwEK...Md==",
                            "public_key_hash": "l0CnXdMv...D1I=",
                            "transaction_id": "32b...4f3",
                        },
                    },
                    "payment_method": {
                        "display_name": "Visa 1234",
                        "network": "Visa",
                        "type": "debit",
                    },
                    "transaction_identifier": "32b...4f3",
                }, billing_contact={
                    "address_lines": [
                        "123 Sesame Street",
                    ],
                    "locality": "Phoenix",
                    "postal_code": "30345",
                    "administrative_area": "AZ",
                    "country_code": "US",
                })

                # Handle response
                print(res)
        - lang: java
          label: linkApplePayToken
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.LinkApplePayError;
            import org.openapis.openapi.models.operations.LinkApplePayTokenResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, LinkApplePayError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    LinkApplePayTokenResponse res = sdk.applePay().linkToken()
                            .accountID("bf498c07-3852-4060-b561-bf992e26a851")
                            .linkApplePay(LinkApplePay.builder()
                                .token(LinkApplePayToken.builder()
                                    .paymentData(LinkApplePaymentData.builder()
                                        .version("EC_v1")
                                        .data("3+f4oOTwPa6f1UZ6tG...CE=")
                                        .signature("MIAGCSqGSIb3DQ.AAAA==")
                                        .header(ApplePayHeader.builder()
                                            .publicKeyHash("l0CnXdMv...D1I=")
                                            .transactionId("32b...4f3")
                                            .ephemeralPublicKey("MFkwEK...Md==")
                                            .build())
                                        .build())
                                    .paymentMethod(LinkApplePaymentMethod.builder()
                                        .displayName("Visa 1234")
                                        .network("Visa")
                                        .type("debit")
                                        .build())
                                    .transactionIdentifier("32b...4f3")
                                    .build())
                                .billingContact(AppleBillingContact.builder()
                                    .addressLines(List.of(
                                        "123 Sesame Street"))
                                    .locality("Phoenix")
                                    .postalCode("30345")
                                    .administrativeArea("AZ")
                                    .countryCode("US")
                                    .build())
                                .build())
                            .call();

                    if (res.linkedApplePayPaymentMethod().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: linkApplePayToken
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.apple_pay.link_token(account_id: 'bf498c07-3852-4060-b561-bf992e26a851', link_apple_pay: Models::Components::LinkApplePay.new(
              token: Models::Components::LinkApplePayToken.new(
                payment_data: Models::Components::LinkApplePaymentData.new(
                  version: 'EC_v1',
                  data: '3+f4oOTwPa6f1UZ6tG...CE=',
                  signature: 'MIAGCSqGSIb3DQ.AAAA==',
                  header: Models::Components::ApplePayHeader.new(
                    ephemeral_public_key: 'MFkwEK...Md==',
                    public_key_hash: 'l0CnXdMv...D1I=',
                    transaction_id: '32b...4f3',
                  ),
                ),
                payment_method: Models::Components::LinkApplePaymentMethod.new(
                  display_name: 'Visa 1234',
                  network: 'Visa',
                  type: 'debit',
                ),
                transaction_identifier: '32b...4f3',
              ),
              billing_contact: Models::Components::AppleBillingContact.new(
                address_lines: [
                  '123 Sesame Street',
                ],
                locality: 'Phoenix',
                postal_code: '30345',
                administrative_area: 'AZ',
                country_code: 'US',
              ),
            ))

            unless res.linked_apple_pay_payment_method.nil?
              # handle response
            end
  /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.

        It is strongly recommended that callers include the `X-Wait-For` header, set to `payment-method`, if the newly linked
        bank-account is intended to be used right away. If this header is not included, the caller will need to poll the [List Payment
        Methods](https://docs.moov.io/api/sources/payment-methods/list/)
        endpoint to wait for the new payment methods to be available for use.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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.

            When this header is set to `payment-method`, the response will include any payment methods that were created for the newly
            linked card in the `paymentMethods` field. Otherwise, the `paymentMethods` field will be omitted from the response.
          schema:
            type: string
            enum:
              - payment-method
              - rail-response
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - bankAccountID
                  - fingerprint
                  - status
                  - holderName
                  - holderType
                  - bankName
                  - bankAccountType
                  - routingNumber
                  - lastFourAccountNumber
                  - updatedOn
                properties:
                  bankAccountID:
                    type: string
                    format: uuid
                  fingerprint:
                    type: string
                    maxLength: 100
                    description: |-
                      Once the bank account is linked, we don't reveal the full bank account number.

                      The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                  status:
                    type: string
                    enum:
                      - new
                      - verified
                      - verificationFailed
                      - pending
                      - errored
                  holderName:
                    type: string
                  holderType:
                    type: string
                    enum:
                      - individual
                      - business
                      - guest
                    description: The type of holder on a funding source.
                  bankName:
                    type: string
                  bankAccountType:
                    type: string
                    enum:
                      - checking
                      - savings
                      - general-ledger
                      - loan
                    description: The bank account type.
                  routingNumber:
                    type: string
                  lastFourAccountNumber:
                    type: string
                  updatedOn:
                    type: string
                    format: date-time
                  statusReason:
                    type: string
                    enum:
                      - bank-account-created
                      - verification-initiated
                      - micro-deposit-attempts-exceeded
                      - micro-deposit-expired
                      - max-verification-failures
                      - verification-attempts-exceeded
                      - verification-expired
                      - verification-successful
                      - ach-debit-return
                      - ach-credit-return
                      - rtp-credit-failure
                      - micro-deposit-return
                      - admin-action
                      - other
                    description: The reason the bank account status changed to the current value.
                  exceptionDetails:
                    type: object
                    required:
                      - description
                    properties:
                      achReturnCode:
                        type: string
                        enum:
                          - R02
                          - R03
                          - R04
                          - R05
                          - R07
                          - R08
                          - R10
                          - R11
                          - R12
                          - R13
                          - R14
                          - R15
                          - R16
                          - R17
                          - R20
                          - R23
                          - R29
                          - R34
                          - R38
                          - R39
                        description: |-
                          The return code of an ACH transaction that caused the bank account status to change.

                          - R02: Account Closed
                          - R03: No Account/Unable to Locate Account
                          - R04: Invalid Account Number
                          - R05: Improper Debit to Consumer Account
                          - R07: Authorization Revoked by Customer
                          - R08: Payment Stopped
                          - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                          - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                          - R12: Branch Sold to Another DFI
                          - R13: RDFI not qualified to participate
                          - R14: Representative payee deceased or unable to continue in that capacity
                          - R15: Beneficiary or bank account holder
                          - R16: Bank account frozen
                          - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                          - R20: Non-payment bank account
                          - R23: Credit entry refused by receiver
                          - R29: Corporate customer advises not authorized
                          - R34: Limited participation RDFI
                          - R38: Stop Payment on Source Document (Adjustment Entry)
                          - R39: Improper Source Document
                      rtpRejectionCode:
                        type: string
                        enum:
                          - AC03
                          - AC04
                          - AC06
                          - AC14
                          - AG01
                          - AG03
                          - MD07
                        description: |-
                          The rejection code of an RTP transaction that caused the bank account status to change.

                          - AC03: Account Invalid
                          - AC04: Account Closed
                          - AC06: Account Blocked
                          - AC14: Creditor Account Type Invalid
                          - AG01: Transactions Forbidden On Account
                          - AG03: Transaction Type Not Supported
                          - MD07: Customer Deceased
                      description:
                        type: string
                        description: Details related to an `errored` or `verificationFailed` bank account status.
                    description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
                  paymentMethods:
                    type: array
                    items:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                    description: |-
                      Includes any payment methods generated for a newly created bank account, removing the need to
                      call the List Payment Methods endpoint following a successful Create BankAccount request.

                      **NOTE: This field is only populated for Create BankAccount requests made with the `X-Wait-For` header.**
                description: Describes a bank account linked to a Moov account.
                example:
                  bankAccountID: 833fa3ef-14d3-4c97-ba45-6af66f739832
                  fingerprint: dd4cbfe5fbaf47b392770b5b595bec604fd99394749b7d017153e2b9cfbea40e
                  status: new
                  holderName: John Doe
                  holderType: individual
                  bankName: Gringotts Bank
                  bankAccountType: checking
                  routingNumber: '123456780'
                  lastFourAccountNumber: '6789'
                  updatedOn: '2024-11-26T22:37:06Z'
                  statusReason: bank-account-created
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  account:
                    type: string
                  plaid:
                    type: string
                  plaidLink:
                    type: string
                  mx:
                    type: string
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  required:
                    - account
                  properties:
                    account:
                      type: object
                      required:
                        - holderName
                        - holderType
                        - accountNumber
                        - bankAccountType
                        - routingNumber
                      properties:
                        holderName:
                          type: string
                        holderType:
                          type: string
                          enum:
                            - individual
                            - business
                            - guest
                          description: The type of holder on a funding source.
                        accountNumber:
                          type: string
                        bankAccountType:
                          type: string
                          enum:
                            - checking
                            - savings
                            - general-ledger
                            - loan
                          description: The bank account type.
                        routingNumber:
                          type: string
                  description: Describes the bank account to link to the Moov account.
                  title: Bank account
                - type: object
                  required:
                    - plaid
                  properties:
                    plaid:
                      type: object
                      required:
                        - token
                      properties:
                        token:
                          type: string
                      description: |-
                        The details of a Plaid processor integration for a linked funding source. 

                        `sandbox` - When linking a bank account to a `sandbox` account using a Plaid processor token a default bank account
                        response will be used. The following default data will be used to generate the bank account in this flow:

                        ```
                          RoutingNumber: "011401533",
                          AccountNumber: "1111222233330000",
                          AccountType:   "checking",
                          Mask:          "0000"
                        ```
                  description: Describes the account to link to the Moov account using a Plaid processor token.
                  title: Plaid
                - type: object
                  required:
                    - plaidLink
                  properties:
                    plaidLink:
                      type: object
                      required:
                        - publicToken
                      properties:
                        publicToken:
                          type: string
                      description: |-
                        This is used by Moov.js with a Plaid reseller relationship. The details of a Plaid link integration for a linked funding source.

                        You can simulate linking bank accounts with Plaid in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#plaid)
                        guide for more information.

                        Plaid's `sandbox` environment - (requires Plaid reseller setup with Moov). When linking a bank account to a `sandbox` account using a Plaid 
                        public token it will utilize Plaid's sandbox environment. The Plaid public token provided must be generated from Plaid's sandbox environment. 
                        Please see <a href="https://plaid.com/docs/api/sandbox/#sandboxpublic_tokencreate" target="_blank">Plaid's sandbox documentation</a> for more 
                        details.
                  description: |-
                    This is used by Moov.js with a Plaid reseller relationship. 

                    Describes the account to link to the Moov account using a Plaid using a Plaid public token.
                  title: Plaid Link
                - type: object
                  required:
                    - mx
                  properties:
                    mx:
                      type: object
                      required:
                        - authorizationCode
                      properties:
                        authorizationCode:
                          type: string
                      description: |-
                        The authorization code of a MX account which allows a processor to retrieve a linked payment account. 

                        `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment. 
                        The MX authorization code provided must be generated from MX's sandbox environment.
                  description: |-
                    Describes the account to link to the Moov account using a MX processor token. 

                    `sandbox` - When linking a bank account to a `sandbox` account using an MX authorization token a default bank account routing number will
                    be used. The following default data will be used to generate the bank account in this flow:

                    ```
                      RoutingNumber: "123456780",
                      BankName: "Gringotts Bank"
                    ```
                  title: MX
      x-speakeasy-name-override: link
      x-codeSamples:
        - lang: typescript
          label: linkBankAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.link({
                accountID: "b326319d-6118-4921-8d82-d5810d562eef",
                linkBankAccount: {
                  plaidLink: {
                    publicToken: "<value>",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: linkBankAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->link(
                accountID: 'b326319d-6118-4921-8d82-d5810d562eef',
                linkBankAccount: new Components\PlaidLinkPayload(
                    plaidLink: new Components\PlaidLinkIntegration(
                        publicToken: '<value>',
                    ),
                )

            );

            if ($response->bankAccount !== null) {
                // handle response
            }
        - lang: python
          label: linkBankAccount
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.link(account_id="b326319d-6118-4921-8d82-d5810d562eef", link_bank_account={
                    "plaid_link": {
                        "public_token": "<value>",
                    },
                })

                # Handle response
                print(res)
        - lang: java
          label: linkBankAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.BankAccountValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.LinkBankAccountResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, BankAccountValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    LinkBankAccountResponse res = sdk.bankAccounts().link()
                            .accountID("b326319d-6118-4921-8d82-d5810d562eef")
                            .linkBankAccount(LinkBankAccount.of(PlaidLinkPayload.builder()
                                .plaidLink(PlaidLinkIntegration.builder()
                                    .publicToken("<value>")
                                    .build())
                                .build()))
                            .call();

                    if (res.bankAccount().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: linkBankAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.link(account_id: 'b326319d-6118-4921-8d82-d5810d562eef', link_bank_account: Models::Components::PlaidLinkPayload.new(
              plaid_link: Models::Components::PlaidLinkIntegration.new(
                public_token: '<value>',
              ),
            ))

            unless res.bank_account.nil?
              # handle response
            end
    get:
      operationId: listBankAccounts
      description: |-
        List all the bank accounts associated with a particular Moov account. 

        Read our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - bankAccountID
                    - fingerprint
                    - status
                    - holderName
                    - holderType
                    - bankName
                    - bankAccountType
                    - routingNumber
                    - lastFourAccountNumber
                    - updatedOn
                  properties:
                    bankAccountID:
                      type: string
                      format: uuid
                    fingerprint:
                      type: string
                      maxLength: 100
                      description: |-
                        Once the bank account is linked, we don't reveal the full bank account number.

                        The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                    status:
                      type: string
                      enum:
                        - new
                        - verified
                        - verificationFailed
                        - pending
                        - errored
                    holderName:
                      type: string
                    holderType:
                      type: string
                      enum:
                        - individual
                        - business
                        - guest
                      description: The type of holder on a funding source.
                    bankName:
                      type: string
                    bankAccountType:
                      type: string
                      enum:
                        - checking
                        - savings
                        - general-ledger
                        - loan
                      description: The bank account type.
                    routingNumber:
                      type: string
                    lastFourAccountNumber:
                      type: string
                    updatedOn:
                      type: string
                      format: date-time
                    statusReason:
                      type: string
                      enum:
                        - bank-account-created
                        - verification-initiated
                        - micro-deposit-attempts-exceeded
                        - micro-deposit-expired
                        - max-verification-failures
                        - verification-attempts-exceeded
                        - verification-expired
                        - verification-successful
                        - ach-debit-return
                        - ach-credit-return
                        - rtp-credit-failure
                        - micro-deposit-return
                        - admin-action
                        - other
                      description: The reason the bank account status changed to the current value.
                    exceptionDetails:
                      type: object
                      required:
                        - description
                      properties:
                        achReturnCode:
                          type: string
                          enum:
                            - R02
                            - R03
                            - R04
                            - R05
                            - R07
                            - R08
                            - R10
                            - R11
                            - R12
                            - R13
                            - R14
                            - R15
                            - R16
                            - R17
                            - R20
                            - R23
                            - R29
                            - R34
                            - R38
                            - R39
                          description: |-
                            The return code of an ACH transaction that caused the bank account status to change.

                            - R02: Account Closed
                            - R03: No Account/Unable to Locate Account
                            - R04: Invalid Account Number
                            - R05: Improper Debit to Consumer Account
                            - R07: Authorization Revoked by Customer
                            - R08: Payment Stopped
                            - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                            - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                            - R12: Branch Sold to Another DFI
                            - R13: RDFI not qualified to participate
                            - R14: Representative payee deceased or unable to continue in that capacity
                            - R15: Beneficiary or bank account holder
                            - R16: Bank account frozen
                            - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                            - R20: Non-payment bank account
                            - R23: Credit entry refused by receiver
                            - R29: Corporate customer advises not authorized
                            - R34: Limited participation RDFI
                            - R38: Stop Payment on Source Document (Adjustment Entry)
                            - R39: Improper Source Document
                        rtpRejectionCode:
                          type: string
                          enum:
                            - AC03
                            - AC04
                            - AC06
                            - AC14
                            - AG01
                            - AG03
                            - MD07
                          description: |-
                            The rejection code of an RTP transaction that caused the bank account status to change.

                            - AC03: Account Invalid
                            - AC04: Account Closed
                            - AC06: Account Blocked
                            - AC14: Creditor Account Type Invalid
                            - AG01: Transactions Forbidden On Account
                            - AG03: Transaction Type Not Supported
                            - MD07: Customer Deceased
                        description:
                          type: string
                          description: Details related to an `errored` or `verificationFailed` bank account status.
                      description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
                    paymentMethods:
                      type: array
                      items:
                        type: object
                        required:
                          - paymentMethodID
                          - paymentMethodType
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            description: ID of the payment method.
                          paymentMethodType:
                            type: string
                            enum:
                              - moov-wallet
                              - ach-debit-fund
                              - ach-debit-collect
                              - ach-credit-standard
                              - ach-credit-same-day
                              - rtp-credit
                              - card-payment
                              - push-to-card
                              - pull-from-card
                              - apple-pay
                              - card-present-payment
                            description: The payment method type that represents a payment rail and directionality
                      description: |-
                        Includes any payment methods generated for a newly created bank account, removing the need to
                        call the List Payment Methods endpoint following a successful Create BankAccount request.

                        **NOTE: This field is only populated for Create BankAccount requests made with the `X-Wait-For` header.**
                  description: Describes a bank account linked to a Moov account.
                  example:
                    bankAccountID: 833fa3ef-14d3-4c97-ba45-6af66f739832
                    fingerprint: dd4cbfe5fbaf47b392770b5b595bec604fd99394749b7d017153e2b9cfbea40e
                    status: new
                    holderName: John Doe
                    holderType: individual
                    bankName: Gringotts Bank
                    bankAccountType: checking
                    routingNumber: '123456780'
                    lastFourAccountNumber: '6789'
                    updatedOn: '2024-11-26T22:37:06Z'
                    statusReason: bank-account-created
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listBankAccounts
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.list({
                accountID: "85539920-22dd-4900-a07e-7a88268456d9",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listBankAccounts
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->list(
                accountID: '85539920-22dd-4900-a07e-7a88268456d9'
            );

            if ($response->bankAccounts !== null) {
                // handle response
            }
        - lang: python
          label: listBankAccounts
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.list(account_id="85539920-22dd-4900-a07e-7a88268456d9")

                # Handle response
                print(res)
        - lang: java
          label: listBankAccounts
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListBankAccountsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListBankAccountsResponse res = sdk.bankAccounts().list()
                            .accountID("85539920-22dd-4900-a07e-7a88268456d9")
                            .call();

                    if (res.bankAccounts().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listBankAccounts
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.list(account_id: '85539920-22dd-4900-a07e-7a88268456d9')

            unless res.bank_accounts.nil?
              # handle response
            end
  /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. 

        Read our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - bankAccountID
                  - fingerprint
                  - status
                  - holderName
                  - holderType
                  - bankName
                  - bankAccountType
                  - routingNumber
                  - lastFourAccountNumber
                  - updatedOn
                properties:
                  bankAccountID:
                    type: string
                    format: uuid
                  fingerprint:
                    type: string
                    maxLength: 100
                    description: |-
                      Once the bank account is linked, we don't reveal the full bank account number.

                      The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                  status:
                    type: string
                    enum:
                      - new
                      - verified
                      - verificationFailed
                      - pending
                      - errored
                  holderName:
                    type: string
                  holderType:
                    type: string
                    enum:
                      - individual
                      - business
                      - guest
                    description: The type of holder on a funding source.
                  bankName:
                    type: string
                  bankAccountType:
                    type: string
                    enum:
                      - checking
                      - savings
                      - general-ledger
                      - loan
                    description: The bank account type.
                  routingNumber:
                    type: string
                  lastFourAccountNumber:
                    type: string
                  updatedOn:
                    type: string
                    format: date-time
                  statusReason:
                    type: string
                    enum:
                      - bank-account-created
                      - verification-initiated
                      - micro-deposit-attempts-exceeded
                      - micro-deposit-expired
                      - max-verification-failures
                      - verification-attempts-exceeded
                      - verification-expired
                      - verification-successful
                      - ach-debit-return
                      - ach-credit-return
                      - rtp-credit-failure
                      - micro-deposit-return
                      - admin-action
                      - other
                    description: The reason the bank account status changed to the current value.
                  exceptionDetails:
                    type: object
                    required:
                      - description
                    properties:
                      achReturnCode:
                        type: string
                        enum:
                          - R02
                          - R03
                          - R04
                          - R05
                          - R07
                          - R08
                          - R10
                          - R11
                          - R12
                          - R13
                          - R14
                          - R15
                          - R16
                          - R17
                          - R20
                          - R23
                          - R29
                          - R34
                          - R38
                          - R39
                        description: |-
                          The return code of an ACH transaction that caused the bank account status to change.

                          - R02: Account Closed
                          - R03: No Account/Unable to Locate Account
                          - R04: Invalid Account Number
                          - R05: Improper Debit to Consumer Account
                          - R07: Authorization Revoked by Customer
                          - R08: Payment Stopped
                          - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                          - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                          - R12: Branch Sold to Another DFI
                          - R13: RDFI not qualified to participate
                          - R14: Representative payee deceased or unable to continue in that capacity
                          - R15: Beneficiary or bank account holder
                          - R16: Bank account frozen
                          - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                          - R20: Non-payment bank account
                          - R23: Credit entry refused by receiver
                          - R29: Corporate customer advises not authorized
                          - R34: Limited participation RDFI
                          - R38: Stop Payment on Source Document (Adjustment Entry)
                          - R39: Improper Source Document
                      rtpRejectionCode:
                        type: string
                        enum:
                          - AC03
                          - AC04
                          - AC06
                          - AC14
                          - AG01
                          - AG03
                          - MD07
                        description: |-
                          The rejection code of an RTP transaction that caused the bank account status to change.

                          - AC03: Account Invalid
                          - AC04: Account Closed
                          - AC06: Account Blocked
                          - AC14: Creditor Account Type Invalid
                          - AG01: Transactions Forbidden On Account
                          - AG03: Transaction Type Not Supported
                          - MD07: Customer Deceased
                      description:
                        type: string
                        description: Details related to an `errored` or `verificationFailed` bank account status.
                    description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
                  paymentMethods:
                    type: array
                    items:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                    description: |-
                      Includes any payment methods generated for a newly created bank account, removing the need to
                      call the List Payment Methods endpoint following a successful Create BankAccount request.

                      **NOTE: This field is only populated for Create BankAccount requests made with the `X-Wait-For` header.**
                description: Describes a bank account linked to a Moov account.
                example:
                  bankAccountID: 833fa3ef-14d3-4c97-ba45-6af66f739832
                  fingerprint: dd4cbfe5fbaf47b392770b5b595bec604fd99394749b7d017153e2b9cfbea40e
                  status: new
                  holderName: John Doe
                  holderType: individual
                  bankName: Gringotts Bank
                  bankAccountType: checking
                  routingNumber: '123456780'
                  lastFourAccountNumber: '6789'
                  updatedOn: '2024-11-26T22:37:06Z'
                  statusReason: bank-account-created
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getBankAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.get({
                accountID: "32ac681d-3244-4673-8541-362e40b7677a",
                bankAccountID: "dd241177-be83-4aad-80f8-31aded5f3616",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getBankAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->get(
                accountID: '32ac681d-3244-4673-8541-362e40b7677a',
                bankAccountID: 'dd241177-be83-4aad-80f8-31aded5f3616'

            );

            if ($response->bankAccount !== null) {
                // handle response
            }
        - lang: python
          label: getBankAccount
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.get(account_id="32ac681d-3244-4673-8541-362e40b7677a", bank_account_id="dd241177-be83-4aad-80f8-31aded5f3616")

                # Handle response
                print(res)
        - lang: java
          label: getBankAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetBankAccountResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetBankAccountResponse res = sdk.bankAccounts().get()
                            .accountID("32ac681d-3244-4673-8541-362e40b7677a")
                            .bankAccountID("dd241177-be83-4aad-80f8-31aded5f3616")
                            .call();

                    if (res.bankAccount().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getBankAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.get(account_id: '32ac681d-3244-4673-8541-362e40b7677a', bank_account_id: 'dd241177-be83-4aad-80f8-31aded5f3616')

            unless res.bank_account.nil?
              # handle response
            end
    delete:
      operationId: disableBankAccount
      description: |-
        Discontinue using a specified bank account linked to a Moov account. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-speakeasy-name-override: disable
      x-codeSamples:
        - lang: typescript
          label: disableBankAccount
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.disable({
                accountID: "6b6ade5f-0b20-493c-b483-cf1f670a1055",
                bankAccountID: "b9295fc2-f5fd-4767-894f-5ca45abfd3fc",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: disableBankAccount
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->disable(
                accountID: '6b6ade5f-0b20-493c-b483-cf1f670a1055',
                bankAccountID: 'b9295fc2-f5fd-4767-894f-5ca45abfd3fc'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: disableBankAccount
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.disable(account_id="6b6ade5f-0b20-493c-b483-cf1f670a1055", bank_account_id="b9295fc2-f5fd-4767-894f-5ca45abfd3fc")

                # Handle response
                print(res)
        - lang: java
          label: disableBankAccount
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DisableBankAccountResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DisableBankAccountResponse res = sdk.bankAccounts().disable()
                            .accountID("6b6ade5f-0b20-493c-b483-cf1f670a1055")
                            .bankAccountID("b9295fc2-f5fd-4767-894f-5ca45abfd3fc")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: disableBankAccount
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.disable(account_id: '6b6ade5f-0b20-493c-b483-cf1f670a1055', bank_account_id: 'b9295fc2-f5fd-4767-894f-5ca45abfd3fc')

            if res.status_code == 200
              # handle response
            end
  /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. 
        Use this method to initiate the micro-deposit verification, sending two small credit transfers to the bank account 
        you want to confirm.

        If you request micro-deposits before 4:15PM ET, they will appear that same day. If you request micro-deposits any 
        time after 4:15PM ET, they will appear the next banking day. When the two credits are initiated, Moov simultaneously
        initiates a debit to recoup the micro-deposits. 

        Micro-deposits initiated for a `sandbox` bank account will always be `$0.00` / `$0.00` and instantly verifiable once initiated.

        You can simulate micro-deposit verification in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#micro-deposits)
        guide for more information.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-codeSamples:
        - lang: typescript
          label: initiateMicroDeposits
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.initiateMicroDeposits({
                accountID: "ced90412-ebb4-43d4-a171-0a929ed5fb37",
                bankAccountID: "f2b630cc-a8ae-44be-970b-7bed47b2d952",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: initiateMicroDeposits
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->initiateMicroDeposits(
                accountID: 'ced90412-ebb4-43d4-a171-0a929ed5fb37',
                bankAccountID: 'f2b630cc-a8ae-44be-970b-7bed47b2d952'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: initiateMicroDeposits
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.initiate_micro_deposits(account_id="ced90412-ebb4-43d4-a171-0a929ed5fb37", bank_account_id="f2b630cc-a8ae-44be-970b-7bed47b2d952")

                # Handle response
                print(res)
        - lang: java
          label: initiateMicroDeposits
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.InitiateMicroDepositsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    InitiateMicroDepositsResponse res = sdk.bankAccounts().initiateMicroDeposits()
                            .accountID("ced90412-ebb4-43d4-a171-0a929ed5fb37")
                            .bankAccountID("f2b630cc-a8ae-44be-970b-7bed47b2d952")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: initiateMicroDeposits
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.initiate_micro_deposits(account_id: 'ced90412-ebb4-43d4-a171-0a929ed5fb37', bank_account_id: 'f2b630cc-a8ae-44be-970b-7bed47b2d952')

            if res.status_code == 200
              # handle response
            end
    put:
      operationId: completeMicroDeposits
      description: |-
        Complete the micro-deposit validation process by passing the amounts of the two transfers within three tries.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                properties:
                  status:
                    type: string
                    enum:
                      - verified
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amounts:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - amounts
              properties:
                amounts:
                  type: array
                  items:
                    type: integer
                  description: Two positive integers, in cents, equal to the values of the micro-deposits sent to the bank account.
                  example:
                    - 18
                    - 21
              description: Request to complete the micro-deposit verification workflow.
      x-codeSamples:
        - lang: typescript
          label: completeMicroDeposits
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.completeMicroDeposits({
                accountID: "af0efd2b-a1fa-40fd-998b-2007b8df0766",
                bankAccountID: "b468e916-699b-4590-becf-ede76d1413cb",
                completeMicroDeposits: {
                  amounts: [
                    18,
                    21,
                  ],
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: completeMicroDeposits
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $completeMicroDeposits = new Components\CompleteMicroDeposits(
                amounts: [
                    18,
                    21,
                ],
            );

            $response = $sdk->bankAccounts->completeMicroDeposits(
                accountID: 'af0efd2b-a1fa-40fd-998b-2007b8df0766',
                bankAccountID: 'b468e916-699b-4590-becf-ede76d1413cb',
                completeMicroDeposits: $completeMicroDeposits

            );

            if ($response->completedMicroDeposits !== null) {
                // handle response
            }
        - lang: python
          label: completeMicroDeposits
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.complete_micro_deposits(account_id="af0efd2b-a1fa-40fd-998b-2007b8df0766", bank_account_id="b468e916-699b-4590-becf-ede76d1413cb", amounts=[
                    18,
                    21,
                ])

                # Handle response
                print(res)
        - lang: java
          label: completeMicroDeposits
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CompleteMicroDeposits;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.MicroDepositValidationError;
            import org.openapis.openapi.models.operations.CompleteMicroDepositsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, MicroDepositValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CompleteMicroDepositsResponse res = sdk.bankAccounts().completeMicroDeposits()
                            .accountID("af0efd2b-a1fa-40fd-998b-2007b8df0766")
                            .bankAccountID("b468e916-699b-4590-becf-ede76d1413cb")
                            .completeMicroDeposits(CompleteMicroDeposits.builder()
                                .amounts(List.of(
                                    18L,
                                    21L))
                                .build())
                            .call();

                    if (res.completedMicroDeposits().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: completeMicroDeposits
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.complete_micro_deposits(account_id: 'af0efd2b-a1fa-40fd-998b-2007b8df0766', bank_account_id: 'b468e916-699b-4590-becf-ede76d1413cb', complete_micro_deposits: Models::Components::CompleteMicroDeposits.new(
              amounts: [
                18,
                21,
              ],
            ))

            unless res.completed_micro_deposits.nil?
              # handle response
            end
  /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 or same-day 
        ACH. This helps track the verification process in real-time and provides details in case of exceptions.

        The status will indicate the following:

        - `new`: Verification initiated, credit pending to the payment network
        - `sent-credit`: Credit sent, available for verification
        - `failed`: Verification failed, description provided, user needs to add a new bank account
        - `expired`: Verification expired after 14 days, initiate another verification
        - `max-attempts-exceeded`: Five incorrect code attempts exhausted, initiate another verification

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - verificationMethod
                  - status
                properties:
                  verificationMethod:
                    type: string
                    enum:
                      - instant
                      - ach
                  status:
                    type: string
                    enum:
                      - new
                      - sent-credit
                      - max-attempts-exceeded
                      - failed
                      - expired
                      - successful
                  exceptionDetails:
                    type: object
                    required:
                      - description
                    properties:
                      achReturnCode:
                        type: string
                        enum:
                          - R02
                          - R03
                          - R04
                          - R05
                          - R07
                          - R08
                          - R10
                          - R11
                          - R12
                          - R13
                          - R14
                          - R15
                          - R16
                          - R17
                          - R20
                          - R23
                          - R29
                          - R34
                          - R38
                          - R39
                        description: |-
                          The return code of an ACH transaction that caused the bank account status to change.

                          - R02: Account Closed
                          - R03: No Account/Unable to Locate Account
                          - R04: Invalid Account Number
                          - R05: Improper Debit to Consumer Account
                          - R07: Authorization Revoked by Customer
                          - R08: Payment Stopped
                          - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                          - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                          - R12: Branch Sold to Another DFI
                          - R13: RDFI not qualified to participate
                          - R14: Representative payee deceased or unable to continue in that capacity
                          - R15: Beneficiary or bank account holder
                          - R16: Bank account frozen
                          - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                          - R20: Non-payment bank account
                          - R23: Credit entry refused by receiver
                          - R29: Corporate customer advises not authorized
                          - R34: Limited participation RDFI
                          - R38: Stop Payment on Source Document (Adjustment Entry)
                          - R39: Improper Source Document
                      rtpRejectionCode:
                        type: string
                        enum:
                          - AC03
                          - AC04
                          - AC06
                          - AC14
                          - AG01
                          - AG03
                          - MD07
                        description: |-
                          The rejection code of an RTP transaction that caused the bank account status to change.

                          - AC03: Account Invalid
                          - AC04: Account Closed
                          - AC06: Account Blocked
                          - AC14: Creditor Account Type Invalid
                          - AG01: Transactions Forbidden On Account
                          - AG03: Transaction Type Not Supported
                          - MD07: Customer Deceased
                      description:
                        type: string
                        description: Details related to an `errored` or `verificationFailed` bank account status.
                    description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-speakeasy-name-override: getVerification
      x-codeSamples:
        - lang: typescript
          label: getBankAccountVerification
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.getVerification({
                accountID: "c87bc077-580a-4c2a-b312-2afbd21fc1cd",
                bankAccountID: "aaceed83-ef83-4d48-8136-096f834280cc",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getBankAccountVerification
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->getVerification(
                accountID: 'c87bc077-580a-4c2a-b312-2afbd21fc1cd',
                bankAccountID: 'aaceed83-ef83-4d48-8136-096f834280cc'

            );

            if ($response->bankAccountVerification !== null) {
                // handle response
            }
        - lang: python
          label: getBankAccountVerification
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.get_verification(account_id="c87bc077-580a-4c2a-b312-2afbd21fc1cd", bank_account_id="aaceed83-ef83-4d48-8136-096f834280cc")

                # Handle response
                print(res)
        - lang: java
          label: getBankAccountVerification
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetBankAccountVerificationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetBankAccountVerificationResponse res = sdk.bankAccounts().getVerification()
                            .accountID("c87bc077-580a-4c2a-b312-2afbd21fc1cd")
                            .bankAccountID("aaceed83-ef83-4d48-8136-096f834280cc")
                            .call();

                    if (res.bankAccountVerification().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getBankAccountVerification
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.get_verification(account_id: 'c87bc077-580a-4c2a-b312-2afbd21fc1cd', bank_account_id: 'aaceed83-ef83-4d48-8136-096f834280cc')

            unless res.bank_account_verification.nil?
              # handle response
            end
    post:
      operationId: initiateBankAccountVerification
      description: |-
        Instant micro-deposit verification offers a quick and efficient way to verify bank account ownership. 

        Send a $0.01 credit with a unique verification code via RTP or same-day ACH, depending on the receiving bank's capabilities. This
        feature provides a faster alternative to traditional methods, allowing verification in a single session.

        It is recommended to use the `X-Wait-For: rail-response` header to synchronously receive the outcome of the instant credit in the
          response payload.

        Possible verification methods:
          - `instant`: Real-time verification credit sent via RTP
          - `ach`: Verification credit sent via same-day ACH

        Possible statuses:
          - `new`: Verification initiated, credit pending
          - `sent-credit`: Credit sent, available for verification in the external bank account
          - `failed`: Verification failed due to credit rejection/return, details in `exceptionDetails`

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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.

            When this header is set to `rail-response`, the endpoint will wait for a sent-credit or failed status from the payment rail.
          schema:
            type: string
            enum:
              - payment-method
              - rail-response
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - verificationMethod
                  - status
                properties:
                  verificationMethod:
                    type: string
                    enum:
                      - instant
                      - ach
                  status:
                    type: string
                    enum:
                      - new
                      - sent-credit
                      - max-attempts-exceeded
                      - failed
                      - expired
                      - successful
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      x-speakeasy-name-override: initiateVerification
      x-codeSamples:
        - lang: typescript
          label: initiateBankAccountVerification
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.initiateVerification({
                accountID: "9d6d433b-c13a-48d7-849a-1897fa71375b",
                bankAccountID: "bd092468-393d-4ee0-85a8-48238fee70d2",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: initiateBankAccountVerification
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->bankAccounts->initiateVerification(
                accountID: '9d6d433b-c13a-48d7-849a-1897fa71375b',
                bankAccountID: 'bd092468-393d-4ee0-85a8-48238fee70d2'

            );

            if ($response->bankAccountVerificationCreated !== null) {
                // handle response
            }
        - lang: python
          label: initiateBankAccountVerification
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.initiate_verification(account_id="9d6d433b-c13a-48d7-849a-1897fa71375b", bank_account_id="bd092468-393d-4ee0-85a8-48238fee70d2")

                # Handle response
                print(res)
        - lang: java
          label: initiateBankAccountVerification
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.InitiateBankAccountVerificationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    InitiateBankAccountVerificationResponse res = sdk.bankAccounts().initiateVerification()
                            .accountID("9d6d433b-c13a-48d7-849a-1897fa71375b")
                            .bankAccountID("bd092468-393d-4ee0-85a8-48238fee70d2")
                            .call();

                    if (res.bankAccountVerificationCreated().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: initiateBankAccountVerification
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.initiate_verification(account_id: '9d6d433b-c13a-48d7-849a-1897fa71375b', bank_account_id: 'bd092468-393d-4ee0-85a8-48238fee70d2')

            unless res.bank_account_verification_created.nil?
              # handle response
            end
    put:
      operationId: completeBankAccountVerification
      description: |-
        Finalize the instant micro-deposit verification by submitting the verification code displayed in the user's bank account. 

        Upon successful verification, the bank account status will be updated to `verified` and eligible for ACH debit transactions.

        The following formats are accepted:
        - `MV0000`
        - `mv0000`
        - `0000`

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: bankAccountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - verificationMethod
                  - status
                properties:
                  verificationMethod:
                    type: string
                    enum:
                      - instant
                      - ach
                  status:
                    type: string
                    enum:
                      - new
                      - sent-credit
                      - max-attempts-exceeded
                      - failed
                      - expired
                      - successful
                  exceptionDetails:
                    type: object
                    required:
                      - description
                    properties:
                      achReturnCode:
                        type: string
                        enum:
                          - R02
                          - R03
                          - R04
                          - R05
                          - R07
                          - R08
                          - R10
                          - R11
                          - R12
                          - R13
                          - R14
                          - R15
                          - R16
                          - R17
                          - R20
                          - R23
                          - R29
                          - R34
                          - R38
                          - R39
                        description: |-
                          The return code of an ACH transaction that caused the bank account status to change.

                          - R02: Account Closed
                          - R03: No Account/Unable to Locate Account
                          - R04: Invalid Account Number
                          - R05: Improper Debit to Consumer Account
                          - R07: Authorization Revoked by Customer
                          - R08: Payment Stopped
                          - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                          - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                          - R12: Branch Sold to Another DFI
                          - R13: RDFI not qualified to participate
                          - R14: Representative payee deceased or unable to continue in that capacity
                          - R15: Beneficiary or bank account holder
                          - R16: Bank account frozen
                          - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                          - R20: Non-payment bank account
                          - R23: Credit entry refused by receiver
                          - R29: Corporate customer advises not authorized
                          - R34: Limited participation RDFI
                          - R38: Stop Payment on Source Document (Adjustment Entry)
                          - R39: Improper Source Document
                      rtpRejectionCode:
                        type: string
                        enum:
                          - AC03
                          - AC04
                          - AC06
                          - AC14
                          - AG01
                          - AG03
                          - MD07
                        description: |-
                          The rejection code of an RTP transaction that caused the bank account status to change.

                          - AC03: Account Invalid
                          - AC04: Account Closed
                          - AC06: Account Blocked
                          - AC14: Creditor Account Type Invalid
                          - AG01: Transactions Forbidden On Account
                          - AG03: Transaction Type Not Supported
                          - MD07: Customer Deceased
                      description:
                        type: string
                        description: Details related to an `errored` or `verificationFailed` bank account status.
                    description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Bank accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - code
              properties:
                code:
                  type: string
                  description: Code provided by user from their bank account transactions
                  example: MV1234
      x-speakeasy-name-override: completeVerification
      x-codeSamples:
        - lang: typescript
          label: completeBankAccountVerification
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.bankAccounts.completeVerification({
                accountID: "2116e60b-0ea7-447e-a7af-5d647f92f06a",
                bankAccountID: "96606c15-fd37-49fe-9af2-4e42dcf44fe3",
                completeBankAccountVerification: {
                  code: "MV1234",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: completeBankAccountVerification
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $completeBankAccountVerification = new Components\CompleteBankAccountVerification(
                code: 'MV1234',
            );

            $response = $sdk->bankAccounts->completeVerification(
                accountID: '2116e60b-0ea7-447e-a7af-5d647f92f06a',
                bankAccountID: '96606c15-fd37-49fe-9af2-4e42dcf44fe3',
                completeBankAccountVerification: $completeBankAccountVerification

            );

            if ($response->bankAccountVerification !== null) {
                // handle response
            }
        - lang: python
          label: completeBankAccountVerification
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.bank_accounts.complete_verification(account_id="2116e60b-0ea7-447e-a7af-5d647f92f06a", bank_account_id="96606c15-fd37-49fe-9af2-4e42dcf44fe3", code="MV1234")

                # Handle response
                print(res)
        - lang: java
          label: completeBankAccountVerification
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CompleteBankAccountVerification;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CompleteBankAccountVerificationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CompleteBankAccountVerificationResponse res = sdk.bankAccounts().completeVerification()
                            .accountID("2116e60b-0ea7-447e-a7af-5d647f92f06a")
                            .bankAccountID("96606c15-fd37-49fe-9af2-4e42dcf44fe3")
                            .completeBankAccountVerification(CompleteBankAccountVerification.builder()
                                .code("MV1234")
                                .build())
                            .call();

                    if (res.bankAccountVerification().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: completeBankAccountVerification
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.bank_accounts.complete_verification(account_id: '2116e60b-0ea7-447e-a7af-5d647f92f06a', bank_account_id: '96606c15-fd37-49fe-9af2-4e42dcf44fe3', complete_bank_account_verification: Models::Components::CompleteBankAccountVerification.new(
              code: 'MV1234',
            ))

            unless res.bank_account_verification.nil?
              # handle response
            end
  /accounts/{accountID}/branding:
    post:
      operationId: createBrand
      description: |-
        Create brand properties for the specified account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/branding.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - colors
                properties:
                  colors:
                    type: object
                    required:
                      - dark
                      - light
                    properties:
                      dark:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                      light:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                    description: Brand colors for light and dark modes.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  colors:
                    type: object
                    properties:
                      light:
                        type: object
                        properties:
                          accent:
                            type: string
                      dark:
                        type: object
                        properties:
                          accent:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Branding
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - colors
              properties:
                colors:
                  type: object
                  required:
                    - dark
                    - light
                  properties:
                    dark:
                      type: object
                      required:
                        - accent
                      properties:
                        accent:
                          type: string
                          description: A CSS hex color representing an accent color.
                          example: '#111111'
                    light:
                      type: object
                      required:
                        - accent
                      properties:
                        accent:
                          type: string
                          description: A CSS hex color representing an accent color.
                          example: '#111111'
                  description: Brand colors for light and dark modes.
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createBrand
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.branding.create({
                accountID: "0a6ae927-b52b-4ef4-86d0-288f27479817",
                brandProperties: {
                  colors: {
                    dark: {
                      accent: "#111111",
                    },
                    light: {
                      accent: "#111111",
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createBrand
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $brandProperties = new Components\BrandProperties(
                colors: new Components\BrandColors(
                    dark: new Components\BrandColor(
                        accent: '#111111',
                    ),
                    light: new Components\BrandColor(
                        accent: '#111111',
                    ),
                ),
            );

            $response = $sdk->branding->create(
                accountID: '0a6ae927-b52b-4ef4-86d0-288f27479817',
                brandProperties: $brandProperties

            );

            if ($response->brandProperties !== null) {
                // handle response
            }
        - lang: python
          label: createBrand
          source: |-
            from openapi import SDK, models


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.branding.create(account_id="0a6ae927-b52b-4ef4-86d0-288f27479817", colors=models.BrandColors(
                    dark=models.BrandColor(
                        accent="#111111",
                    ),
                    light=models.BrandColor(
                        accent="#111111",
                    ),
                ))

                # Handle response
                print(res)
        - lang: java
          label: createBrand
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.BrandValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateBrandResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, BrandValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateBrandResponse res = sdk.branding().create()
                            .accountID("0a6ae927-b52b-4ef4-86d0-288f27479817")
                            .brandProperties(BrandProperties.builder()
                                .colors(BrandColors.builder()
                                    .dark(BrandColor.builder()
                                        .accent("#111111")
                                        .build())
                                    .light(BrandColor.builder()
                                        .accent("#111111")
                                        .build())
                                    .build())
                                .build())
                            .call();

                    if (res.brandProperties().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createBrand
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.branding.create(account_id: '0a6ae927-b52b-4ef4-86d0-288f27479817', brand_properties: Models::Components::BrandProperties.new(
              colors: Models::Components::BrandColors.new(
                dark: Models::Components::BrandColor.new(
                  accent: '#111111',
                ),
                light: Models::Components::BrandColor.new(
                  accent: '#111111',
                ),
              ),
            ))

            unless res.brand_properties.nil?
              # handle response
            end
    put:
      operationId: upsertBrand
      description: |-
        Create or replace brand properties for the specified account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/branding.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - colors
                properties:
                  colors:
                    type: object
                    required:
                      - dark
                      - light
                    properties:
                      dark:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                      light:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                    description: Brand colors for light and dark modes.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  colors:
                    type: object
                    properties:
                      light:
                        type: object
                        properties:
                          accent:
                            type: string
                      dark:
                        type: object
                        properties:
                          accent:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Branding
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - colors
              properties:
                colors:
                  type: object
                  required:
                    - dark
                    - light
                  properties:
                    dark:
                      type: object
                      required:
                        - accent
                      properties:
                        accent:
                          type: string
                          description: A CSS hex color representing an accent color.
                          example: '#111111'
                    light:
                      type: object
                      required:
                        - accent
                      properties:
                        accent:
                          type: string
                          description: A CSS hex color representing an accent color.
                          example: '#111111'
                  description: Brand colors for light and dark modes.
      x-speakeasy-name-override: upsert
      x-codeSamples:
        - lang: typescript
          label: upsertBrand
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.branding.upsert({
                accountID: "0cd408b1-a57d-477b-825b-12331c2ed00a",
                brandProperties: {
                  colors: {
                    dark: {
                      accent: "#111111",
                    },
                    light: {
                      accent: "#111111",
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: upsertBrand
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $brandProperties = new Components\BrandProperties(
                colors: new Components\BrandColors(
                    dark: new Components\BrandColor(
                        accent: '#111111',
                    ),
                    light: new Components\BrandColor(
                        accent: '#111111',
                    ),
                ),
            );

            $response = $sdk->branding->upsert(
                accountID: '0cd408b1-a57d-477b-825b-12331c2ed00a',
                brandProperties: $brandProperties

            );

            if ($response->brandProperties !== null) {
                // handle response
            }
        - lang: python
          label: upsertBrand
          source: |-
            from openapi import SDK, models


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.branding.upsert(account_id="0cd408b1-a57d-477b-825b-12331c2ed00a", colors=models.BrandColors(
                    dark=models.BrandColor(
                        accent="#111111",
                    ),
                    light=models.BrandColor(
                        accent="#111111",
                    ),
                ))

                # Handle response
                print(res)
        - lang: java
          label: upsertBrand
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.BrandValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UpsertBrandResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, BrandValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpsertBrandResponse res = sdk.branding().upsert()
                            .accountID("0cd408b1-a57d-477b-825b-12331c2ed00a")
                            .brandProperties(BrandProperties.builder()
                                .colors(BrandColors.builder()
                                    .dark(BrandColor.builder()
                                        .accent("#111111")
                                        .build())
                                    .light(BrandColor.builder()
                                        .accent("#111111")
                                        .build())
                                    .build())
                                .build())
                            .call();

                    if (res.brandProperties().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: upsertBrand
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.branding.upsert(account_id: '0cd408b1-a57d-477b-825b-12331c2ed00a', brand_properties: Models::Components::BrandProperties.new(
              colors: Models::Components::BrandColors.new(
                dark: Models::Components::BrandColor.new(
                  accent: '#111111',
                ),
                light: Models::Components::BrandColor.new(
                  accent: '#111111',
                ),
              ),
            ))

            unless res.brand_properties.nil?
              # handle response
            end
    get:
      operationId: getBrand
      description: |-
        Get brand properties for the specified account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/branding.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - colors
                properties:
                  colors:
                    type: object
                    required:
                      - dark
                      - light
                    properties:
                      dark:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                      light:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                    description: Brand colors for light and dark modes.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Branding
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getBrand
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.branding.get({
                accountID: "8a4ec43e-d45f-481d-a291-683cb221e3cc",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getBrand
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->branding->get(
                accountID: '8a4ec43e-d45f-481d-a291-683cb221e3cc'
            );

            if ($response->brandProperties !== null) {
                // handle response
            }
        - lang: python
          label: getBrand
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.branding.get(account_id="8a4ec43e-d45f-481d-a291-683cb221e3cc")

                # Handle response
                print(res)
        - lang: java
          label: getBrand
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetBrandResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetBrandResponse res = sdk.branding().get()
                            .accountID("8a4ec43e-d45f-481d-a291-683cb221e3cc")
                            .call();

                    if (res.brandProperties().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getBrand
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.branding.get(account_id: '8a4ec43e-d45f-481d-a291-683cb221e3cc')

            unless res.brand_properties.nil?
              # handle response
            end
    patch:
      operationId: updateBrand
      description: |-
        Updates the brand properties for the specified account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/branding.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - colors
                properties:
                  colors:
                    type: object
                    required:
                      - dark
                      - light
                    properties:
                      dark:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                      light:
                        type: object
                        required:
                          - accent
                        properties:
                          accent:
                            type: string
                            description: A CSS hex color representing an accent color.
                            example: '#111111'
                    description: Brand colors for light and dark modes.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  colors:
                    type: object
                    properties:
                      light:
                        type: object
                        properties:
                          accent:
                            type: string
                      dark:
                        type: object
                        properties:
                          accent:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Branding
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                colors:
                  type: object
                  properties:
                    dark:
                      type: object
                      properties:
                        accent:
                          type: string
                    light:
                      type: object
                      properties:
                        accent:
                          type: string
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateBrand
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.branding.update({
                accountID: "0c0dc4a5-ecd9-4223-810a-a71632980156",
                updateBrand: {},
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateBrand
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateBrand = new Components\UpdateBrand();

            $response = $sdk->branding->update(
                accountID: '0c0dc4a5-ecd9-4223-810a-a71632980156',
                updateBrand: $updateBrand

            );

            if ($response->brandProperties !== null) {
                // handle response
            }
        - lang: python
          label: updateBrand
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.branding.update(account_id="0c0dc4a5-ecd9-4223-810a-a71632980156")

                # Handle response
                print(res)
        - lang: java
          label: updateBrand
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpdateBrand;
            import org.openapis.openapi.models.errors.BrandValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UpdateBrandResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, BrandValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateBrandResponse res = sdk.branding().update()
                            .accountID("0c0dc4a5-ecd9-4223-810a-a71632980156")
                            .updateBrand(UpdateBrand.builder()
                                .build())
                            .call();

                    if (res.brandProperties().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateBrand
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.branding.update(account_id: '0c0dc4a5-ecd9-4223-810a-a71632980156', update_brand: Models::Components::UpdateBrand.new())

            unless res.brand_properties.nil?
              # handle response
            end
  /accounts/{accountID}/capabilities:
    get:
      operationId: listCapabilities
      description: |-
        Retrieve all the capabilities an account has requested.

        Read our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/capabilities.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - capability
                    - accountID
                    - status
                    - createdOn
                    - updatedOn
                  properties:
                    capability:
                      type: string
                      enum:
                        - transfers
                        - send-funds
                        - send-funds.push-to-card
                        - money-transfer.push-to-card
                        - send-funds.ach
                        - send-funds.rtp
                        - send-funds.instant-bank
                        - collect-funds
                        - collect-funds.card-payments
                        - money-transfer.pull-from-card
                        - collect-funds.ach
                        - wallet
                        - wallet.balance
                        - card-issuing
                        - production-app
                        - platform.production-app
                        - platform.wallet-transfers
                      description: |-
                        Moov account capabilities.

                        The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                    accountID:
                      type: string
                      format: uuid
                    status:
                      type: string
                      enum:
                        - enabled
                        - disabled
                        - pending
                        - in-review
                      description: The status of the capability requested for an account.
                    requirements:
                      type: object
                      properties:
                        currentlyDue:
                          type: array
                          items:
                            type: string
                            enum:
                              - account.tos-acceptance
                              - individual.mobile
                              - individual.email
                              - individual.email-or-mobile
                              - individual.firstname
                              - individual.lastname
                              - individual.address
                              - individual.ssn-last4
                              - individual.ssn
                              - individual.birthdate
                              - business.legalname
                              - business.description-or-website
                              - business.entity-type
                              - business.business-type
                              - business.dba
                              - business.ein
                              - business.address
                              - business.phone
                              - business.admins
                              - business.controllers
                              - business.owners
                              - business.classification
                              - business.industry-code-mcc
                              - business.indicate-owners-provided
                              - business.average-transaction-size
                              - business.max-transaction-size
                              - business.average-monthly-transaction-volume
                              - business.volume-by-customer-type
                              - business.card-volume-distribution
                              - business.fulfillment
                              - business.description
                              - business.underwriting-documents-tier-one
                              - bank-accounts.name
                              - bank-accounts.routing-number
                              - bank-accounts.account-number
                              - document.business.verification
                              - document.individual.tin
                              - document.individual.verification
                              - document.representative.{rep-uuid}.tin
                              - document.representative.{rep-uuid}.verification
                              - representative.{rep-uuid}.mobile
                              - representative.{rep-uuid}.email
                              - representative.{rep-uuid}.email-or-mobile
                              - representative.{rep-uuid}.firstname
                              - representative.{rep-uuid}.lastname
                              - representative.{rep-uuid}.address
                              - representative.{rep-uuid}.ssn-last4
                              - representative.{rep-uuid}.ssn
                              - representative.{rep-uuid}.birthdate
                              - representative.{rep-uuid}.job-title
                              - representative.{rep-uuid}.is-controller
                              - representative.{rep-uuid}.is-owner
                              - representative.{rep-uuid}.ownership
                              - document.{doc-uuid}
                              - underwriting.businessPresence
                              - underwriting.geographicReach
                              - underwriting.volumeShareByCustomerType
                              - underwriting.pendingLitigation
                              - underwriting.documents.processingStatementsPast3Months
                              - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                              - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                              - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                              - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                              - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                              - underwriting.collectFunds.cardPayments.fulfillment
                              - underwriting.collectFunds.cardPayments.refundPolicy
                              - underwriting.collectFunds.ach.cardAcceptanceMethods
                              - underwriting.collectFunds.ach.currentlyAcceptsCards
                              - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                              - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                              - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                              - underwriting.collectFunds.ach.fulfillment
                              - underwriting.collectFunds.ach.refundPolicy
                              - underwriting.sendFunds.ach.cardAcceptanceMethods
                              - underwriting.sendFunds.ach.currentlyAcceptsCards
                              - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.ach.fulfillment
                              - underwriting.sendFunds.ach.refundPolicy
                              - underwriting.sendFunds.rtp.cardAcceptanceMethods
                              - underwriting.sendFunds.rtp.currentlyAcceptsCards
                              - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.rtp.fulfillment
                              - underwriting.sendFunds.rtp.refundPolicy
                              - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                              - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                              - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.pushToCard.fulfillment
                              - underwriting.sendFunds.pushToCard.refundPolicy
                              - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                              - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.moneyTransfer.pullFromCard.fulfillment
                              - underwriting.moneyTransfer.pullFromCard.refundPolicy
                              - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                              - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.moneyTransfer.pushToCard.fulfillment
                              - underwriting.moneyTransfer.pushToCard.refundPolicy
                            description: The unique ID of what the requirement is asking to be filled out.
                        errors:
                          type: array
                          items:
                            type: object
                            required:
                              - requirement
                            properties:
                              requirement:
                                type: string
                                enum:
                                  - account.tos-acceptance
                                  - individual.mobile
                                  - individual.email
                                  - individual.email-or-mobile
                                  - individual.firstname
                                  - individual.lastname
                                  - individual.address
                                  - individual.ssn-last4
                                  - individual.ssn
                                  - individual.birthdate
                                  - business.legalname
                                  - business.description-or-website
                                  - business.entity-type
                                  - business.business-type
                                  - business.dba
                                  - business.ein
                                  - business.address
                                  - business.phone
                                  - business.admins
                                  - business.controllers
                                  - business.owners
                                  - business.classification
                                  - business.industry-code-mcc
                                  - business.indicate-owners-provided
                                  - business.average-transaction-size
                                  - business.max-transaction-size
                                  - business.average-monthly-transaction-volume
                                  - business.volume-by-customer-type
                                  - business.card-volume-distribution
                                  - business.fulfillment
                                  - business.description
                                  - business.underwriting-documents-tier-one
                                  - bank-accounts.name
                                  - bank-accounts.routing-number
                                  - bank-accounts.account-number
                                  - document.business.verification
                                  - document.individual.tin
                                  - document.individual.verification
                                  - document.representative.{rep-uuid}.tin
                                  - document.representative.{rep-uuid}.verification
                                  - representative.{rep-uuid}.mobile
                                  - representative.{rep-uuid}.email
                                  - representative.{rep-uuid}.email-or-mobile
                                  - representative.{rep-uuid}.firstname
                                  - representative.{rep-uuid}.lastname
                                  - representative.{rep-uuid}.address
                                  - representative.{rep-uuid}.ssn-last4
                                  - representative.{rep-uuid}.ssn
                                  - representative.{rep-uuid}.birthdate
                                  - representative.{rep-uuid}.job-title
                                  - representative.{rep-uuid}.is-controller
                                  - representative.{rep-uuid}.is-owner
                                  - representative.{rep-uuid}.ownership
                                  - document.{doc-uuid}
                                  - underwriting.businessPresence
                                  - underwriting.geographicReach
                                  - underwriting.volumeShareByCustomerType
                                  - underwriting.pendingLitigation
                                  - underwriting.documents.processingStatementsPast3Months
                                  - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                                  - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                                  - underwriting.collectFunds.cardPayments.fulfillment
                                  - underwriting.collectFunds.cardPayments.refundPolicy
                                  - underwriting.collectFunds.ach.cardAcceptanceMethods
                                  - underwriting.collectFunds.ach.currentlyAcceptsCards
                                  - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                                  - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                                  - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                                  - underwriting.collectFunds.ach.fulfillment
                                  - underwriting.collectFunds.ach.refundPolicy
                                  - underwriting.sendFunds.ach.cardAcceptanceMethods
                                  - underwriting.sendFunds.ach.currentlyAcceptsCards
                                  - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.ach.fulfillment
                                  - underwriting.sendFunds.ach.refundPolicy
                                  - underwriting.sendFunds.rtp.cardAcceptanceMethods
                                  - underwriting.sendFunds.rtp.currentlyAcceptsCards
                                  - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.rtp.fulfillment
                                  - underwriting.sendFunds.rtp.refundPolicy
                                  - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                                  - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.pushToCard.fulfillment
                                  - underwriting.sendFunds.pushToCard.refundPolicy
                                  - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                                  - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.moneyTransfer.pullFromCard.fulfillment
                                  - underwriting.moneyTransfer.pullFromCard.refundPolicy
                                  - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                                  - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.moneyTransfer.pushToCard.fulfillment
                                  - underwriting.moneyTransfer.pushToCard.refundPolicy
                                description: The unique ID of what the requirement is asking to be filled out.
                              errorCode:
                                type: string
                                enum:
                                  - invalid-value
                                  - failed-automatic-verification
                                  - failed-other
                                  - invalid-address
                                  - address-restricted
                                  - tax-id-mismatch
                                  - document-id-mismatch
                                  - document-date-of-birth-mismatch
                                  - document-name-mismatch
                                  - document-address.mismatch
                                  - document-number-mismatch
                                  - document-incomplete
                                  - document-failed-risk
                                  - document-illegible
                                  - document-unsupported
                                  - document-not-uploaded
                                  - document-corrupt
                                  - document-expired
                      description: Represents individual and business data necessary to facilitate the enabling of a capability for an account.
                    disabledReason:
                      type: string
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    disabledOn:
                      type: string
                      format: date-time
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Capabilities
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listCapabilities
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.capabilities.list({
                accountID: "1a50ab1c-1714-49e7-a016-cea17b33511a",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listCapabilities
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->capabilities->list(
                accountID: '1a50ab1c-1714-49e7-a016-cea17b33511a'
            );

            if ($response->capabilities !== null) {
                // handle response
            }
        - lang: python
          label: listCapabilities
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.capabilities.list(account_id="1a50ab1c-1714-49e7-a016-cea17b33511a")

                # Handle response
                print(res)
        - lang: java
          label: listCapabilities
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListCapabilitiesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListCapabilitiesResponse res = sdk.capabilities().list()
                            .accountID("1a50ab1c-1714-49e7-a016-cea17b33511a")
                            .call();

                    if (res.capabilities().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listCapabilities
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.capabilities.list(account_id: '1a50ab1c-1714-49e7-a016-cea17b33511a')

            unless res.capabilities.nil?
              # handle response
            end
    post:
      operationId: requestCapabilities
      description: |-
        Request capabilities for a specific account. Read our [capabilities guide](https://docs.moov.io/guides/accounts/capabilities/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/capabilities.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - capability
                    - accountID
                    - status
                    - createdOn
                    - updatedOn
                  properties:
                    capability:
                      type: string
                      enum:
                        - transfers
                        - send-funds
                        - send-funds.push-to-card
                        - money-transfer.push-to-card
                        - send-funds.ach
                        - send-funds.rtp
                        - send-funds.instant-bank
                        - collect-funds
                        - collect-funds.card-payments
                        - money-transfer.pull-from-card
                        - collect-funds.ach
                        - wallet
                        - wallet.balance
                        - card-issuing
                        - production-app
                        - platform.production-app
                        - platform.wallet-transfers
                      description: |-
                        Moov account capabilities.

                        The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                    accountID:
                      type: string
                      format: uuid
                    status:
                      type: string
                      enum:
                        - enabled
                        - disabled
                        - pending
                        - in-review
                      description: The status of the capability requested for an account.
                    requirements:
                      type: object
                      properties:
                        currentlyDue:
                          type: array
                          items:
                            type: string
                            enum:
                              - account.tos-acceptance
                              - individual.mobile
                              - individual.email
                              - individual.email-or-mobile
                              - individual.firstname
                              - individual.lastname
                              - individual.address
                              - individual.ssn-last4
                              - individual.ssn
                              - individual.birthdate
                              - business.legalname
                              - business.description-or-website
                              - business.entity-type
                              - business.business-type
                              - business.dba
                              - business.ein
                              - business.address
                              - business.phone
                              - business.admins
                              - business.controllers
                              - business.owners
                              - business.classification
                              - business.industry-code-mcc
                              - business.indicate-owners-provided
                              - business.average-transaction-size
                              - business.max-transaction-size
                              - business.average-monthly-transaction-volume
                              - business.volume-by-customer-type
                              - business.card-volume-distribution
                              - business.fulfillment
                              - business.description
                              - business.underwriting-documents-tier-one
                              - bank-accounts.name
                              - bank-accounts.routing-number
                              - bank-accounts.account-number
                              - document.business.verification
                              - document.individual.tin
                              - document.individual.verification
                              - document.representative.{rep-uuid}.tin
                              - document.representative.{rep-uuid}.verification
                              - representative.{rep-uuid}.mobile
                              - representative.{rep-uuid}.email
                              - representative.{rep-uuid}.email-or-mobile
                              - representative.{rep-uuid}.firstname
                              - representative.{rep-uuid}.lastname
                              - representative.{rep-uuid}.address
                              - representative.{rep-uuid}.ssn-last4
                              - representative.{rep-uuid}.ssn
                              - representative.{rep-uuid}.birthdate
                              - representative.{rep-uuid}.job-title
                              - representative.{rep-uuid}.is-controller
                              - representative.{rep-uuid}.is-owner
                              - representative.{rep-uuid}.ownership
                              - document.{doc-uuid}
                              - underwriting.businessPresence
                              - underwriting.geographicReach
                              - underwriting.volumeShareByCustomerType
                              - underwriting.pendingLitigation
                              - underwriting.documents.processingStatementsPast3Months
                              - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                              - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                              - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                              - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                              - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                              - underwriting.collectFunds.cardPayments.fulfillment
                              - underwriting.collectFunds.cardPayments.refundPolicy
                              - underwriting.collectFunds.ach.cardAcceptanceMethods
                              - underwriting.collectFunds.ach.currentlyAcceptsCards
                              - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                              - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                              - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                              - underwriting.collectFunds.ach.fulfillment
                              - underwriting.collectFunds.ach.refundPolicy
                              - underwriting.sendFunds.ach.cardAcceptanceMethods
                              - underwriting.sendFunds.ach.currentlyAcceptsCards
                              - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.ach.fulfillment
                              - underwriting.sendFunds.ach.refundPolicy
                              - underwriting.sendFunds.rtp.cardAcceptanceMethods
                              - underwriting.sendFunds.rtp.currentlyAcceptsCards
                              - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.rtp.fulfillment
                              - underwriting.sendFunds.rtp.refundPolicy
                              - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                              - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                              - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                              - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.sendFunds.pushToCard.fulfillment
                              - underwriting.sendFunds.pushToCard.refundPolicy
                              - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                              - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.moneyTransfer.pullFromCard.fulfillment
                              - underwriting.moneyTransfer.pullFromCard.refundPolicy
                              - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                              - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                              - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                              - underwriting.moneyTransfer.pushToCard.fulfillment
                              - underwriting.moneyTransfer.pushToCard.refundPolicy
                            description: The unique ID of what the requirement is asking to be filled out.
                        errors:
                          type: array
                          items:
                            type: object
                            required:
                              - requirement
                            properties:
                              requirement:
                                type: string
                                enum:
                                  - account.tos-acceptance
                                  - individual.mobile
                                  - individual.email
                                  - individual.email-or-mobile
                                  - individual.firstname
                                  - individual.lastname
                                  - individual.address
                                  - individual.ssn-last4
                                  - individual.ssn
                                  - individual.birthdate
                                  - business.legalname
                                  - business.description-or-website
                                  - business.entity-type
                                  - business.business-type
                                  - business.dba
                                  - business.ein
                                  - business.address
                                  - business.phone
                                  - business.admins
                                  - business.controllers
                                  - business.owners
                                  - business.classification
                                  - business.industry-code-mcc
                                  - business.indicate-owners-provided
                                  - business.average-transaction-size
                                  - business.max-transaction-size
                                  - business.average-monthly-transaction-volume
                                  - business.volume-by-customer-type
                                  - business.card-volume-distribution
                                  - business.fulfillment
                                  - business.description
                                  - business.underwriting-documents-tier-one
                                  - bank-accounts.name
                                  - bank-accounts.routing-number
                                  - bank-accounts.account-number
                                  - document.business.verification
                                  - document.individual.tin
                                  - document.individual.verification
                                  - document.representative.{rep-uuid}.tin
                                  - document.representative.{rep-uuid}.verification
                                  - representative.{rep-uuid}.mobile
                                  - representative.{rep-uuid}.email
                                  - representative.{rep-uuid}.email-or-mobile
                                  - representative.{rep-uuid}.firstname
                                  - representative.{rep-uuid}.lastname
                                  - representative.{rep-uuid}.address
                                  - representative.{rep-uuid}.ssn-last4
                                  - representative.{rep-uuid}.ssn
                                  - representative.{rep-uuid}.birthdate
                                  - representative.{rep-uuid}.job-title
                                  - representative.{rep-uuid}.is-controller
                                  - representative.{rep-uuid}.is-owner
                                  - representative.{rep-uuid}.ownership
                                  - document.{doc-uuid}
                                  - underwriting.businessPresence
                                  - underwriting.geographicReach
                                  - underwriting.volumeShareByCustomerType
                                  - underwriting.pendingLitigation
                                  - underwriting.documents.processingStatementsPast3Months
                                  - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                                  - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                                  - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                                  - underwriting.collectFunds.cardPayments.fulfillment
                                  - underwriting.collectFunds.cardPayments.refundPolicy
                                  - underwriting.collectFunds.ach.cardAcceptanceMethods
                                  - underwriting.collectFunds.ach.currentlyAcceptsCards
                                  - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                                  - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                                  - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                                  - underwriting.collectFunds.ach.fulfillment
                                  - underwriting.collectFunds.ach.refundPolicy
                                  - underwriting.sendFunds.ach.cardAcceptanceMethods
                                  - underwriting.sendFunds.ach.currentlyAcceptsCards
                                  - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.ach.fulfillment
                                  - underwriting.sendFunds.ach.refundPolicy
                                  - underwriting.sendFunds.rtp.cardAcceptanceMethods
                                  - underwriting.sendFunds.rtp.currentlyAcceptsCards
                                  - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.rtp.fulfillment
                                  - underwriting.sendFunds.rtp.refundPolicy
                                  - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                                  - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.sendFunds.pushToCard.fulfillment
                                  - underwriting.sendFunds.pushToCard.refundPolicy
                                  - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                                  - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.moneyTransfer.pullFromCard.fulfillment
                                  - underwriting.moneyTransfer.pullFromCard.refundPolicy
                                  - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                                  - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                                  - underwriting.moneyTransfer.pushToCard.fulfillment
                                  - underwriting.moneyTransfer.pushToCard.refundPolicy
                                description: The unique ID of what the requirement is asking to be filled out.
                              errorCode:
                                type: string
                                enum:
                                  - invalid-value
                                  - failed-automatic-verification
                                  - failed-other
                                  - invalid-address
                                  - address-restricted
                                  - tax-id-mismatch
                                  - document-id-mismatch
                                  - document-date-of-birth-mismatch
                                  - document-name-mismatch
                                  - document-address.mismatch
                                  - document-number-mismatch
                                  - document-incomplete
                                  - document-failed-risk
                                  - document-illegible
                                  - document-unsupported
                                  - document-not-uploaded
                                  - document-corrupt
                                  - document-expired
                      description: Represents individual and business data necessary to facilitate the enabling of a capability for an account.
                    disabledReason:
                      type: string
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    disabledOn:
                      type: string
                      format: date-time
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  capabilities:
                    type: object
                    additionalProperties:
                      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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Capabilities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - capabilities
              properties:
                capabilities:
                  type: array
                  items:
                    type: string
                    enum:
                      - transfers
                      - send-funds
                      - send-funds.push-to-card
                      - money-transfer.push-to-card
                      - send-funds.ach
                      - send-funds.rtp
                      - send-funds.instant-bank
                      - collect-funds
                      - collect-funds.card-payments
                      - money-transfer.pull-from-card
                      - collect-funds.ach
                      - wallet
                      - wallet.balance
                      - card-issuing
                      - production-app
                      - platform.production-app
                      - platform.wallet-transfers
                    description: |-
                      Moov account capabilities.

                      The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
            example:
              capabilities:
                - collect-funds
      x-speakeasy-name-override: request
      x-codeSamples:
        - lang: typescript
          label: requestCapabilities
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.capabilities.request({
                accountID: "de140d5c-c78e-4ebb-a001-f51aaf6c814a",
                addCapabilities: {
                  capabilities: [
                    "collect-funds",
                  ],
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: requestCapabilities
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $addCapabilities = new Components\AddCapabilities(
                capabilities: [
                    Components\CapabilityID::CollectFunds,
                ],
            );

            $response = $sdk->capabilities->request(
                accountID: 'de140d5c-c78e-4ebb-a001-f51aaf6c814a',
                addCapabilities: $addCapabilities

            );

            if ($response->capabilities !== null) {
                // handle response
            }
        - lang: python
          label: requestCapabilities
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.capabilities.request(account_id="de140d5c-c78e-4ebb-a001-f51aaf6c814a", capabilities=[
                    "collect-funds",
                ])

                # Handle response
                print(res)
        - lang: java
          label: requestCapabilities
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.AddCapabilities;
            import org.openapis.openapi.models.components.CapabilityID;
            import org.openapis.openapi.models.errors.AddCapabilitiesError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.RequestCapabilitiesResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, AddCapabilitiesError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RequestCapabilitiesResponse res = sdk.capabilities().request()
                            .accountID("de140d5c-c78e-4ebb-a001-f51aaf6c814a")
                            .addCapabilities(AddCapabilities.builder()
                                .capabilities(List.of(
                                    CapabilityID.COLLECT_FUNDS))
                                .build())
                            .call();

                    if (res.capabilities().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: requestCapabilities
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.capabilities.request(account_id: 'de140d5c-c78e-4ebb-a001-f51aaf6c814a', add_capabilities: Models::Components::AddCapabilities.new(
              capabilities: [
                Models::Components::CapabilityID::COLLECT_FUNDS,
              ],
            ))

            unless res.capabilities.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/capabilities.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: capabilityID
          in: path
          required: true
          schema:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - capability
                  - accountID
                  - status
                  - createdOn
                  - updatedOn
                properties:
                  capability:
                    type: string
                    enum:
                      - transfers
                      - send-funds
                      - send-funds.push-to-card
                      - money-transfer.push-to-card
                      - send-funds.ach
                      - send-funds.rtp
                      - send-funds.instant-bank
                      - collect-funds
                      - collect-funds.card-payments
                      - money-transfer.pull-from-card
                      - collect-funds.ach
                      - wallet
                      - wallet.balance
                      - card-issuing
                      - production-app
                      - platform.production-app
                      - platform.wallet-transfers
                    description: |-
                      Moov account capabilities.

                      The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                  accountID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - enabled
                      - disabled
                      - pending
                      - in-review
                    description: The status of the capability requested for an account.
                  requirements:
                    type: object
                    properties:
                      currentlyDue:
                        type: array
                        items:
                          type: string
                          enum:
                            - account.tos-acceptance
                            - individual.mobile
                            - individual.email
                            - individual.email-or-mobile
                            - individual.firstname
                            - individual.lastname
                            - individual.address
                            - individual.ssn-last4
                            - individual.ssn
                            - individual.birthdate
                            - business.legalname
                            - business.description-or-website
                            - business.entity-type
                            - business.business-type
                            - business.dba
                            - business.ein
                            - business.address
                            - business.phone
                            - business.admins
                            - business.controllers
                            - business.owners
                            - business.classification
                            - business.industry-code-mcc
                            - business.indicate-owners-provided
                            - business.average-transaction-size
                            - business.max-transaction-size
                            - business.average-monthly-transaction-volume
                            - business.volume-by-customer-type
                            - business.card-volume-distribution
                            - business.fulfillment
                            - business.description
                            - business.underwriting-documents-tier-one
                            - bank-accounts.name
                            - bank-accounts.routing-number
                            - bank-accounts.account-number
                            - document.business.verification
                            - document.individual.tin
                            - document.individual.verification
                            - document.representative.{rep-uuid}.tin
                            - document.representative.{rep-uuid}.verification
                            - representative.{rep-uuid}.mobile
                            - representative.{rep-uuid}.email
                            - representative.{rep-uuid}.email-or-mobile
                            - representative.{rep-uuid}.firstname
                            - representative.{rep-uuid}.lastname
                            - representative.{rep-uuid}.address
                            - representative.{rep-uuid}.ssn-last4
                            - representative.{rep-uuid}.ssn
                            - representative.{rep-uuid}.birthdate
                            - representative.{rep-uuid}.job-title
                            - representative.{rep-uuid}.is-controller
                            - representative.{rep-uuid}.is-owner
                            - representative.{rep-uuid}.ownership
                            - document.{doc-uuid}
                            - underwriting.businessPresence
                            - underwriting.geographicReach
                            - underwriting.volumeShareByCustomerType
                            - underwriting.pendingLitigation
                            - underwriting.documents.processingStatementsPast3Months
                            - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                            - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                            - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                            - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                            - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                            - underwriting.collectFunds.cardPayments.fulfillment
                            - underwriting.collectFunds.cardPayments.refundPolicy
                            - underwriting.collectFunds.ach.cardAcceptanceMethods
                            - underwriting.collectFunds.ach.currentlyAcceptsCards
                            - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                            - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                            - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                            - underwriting.collectFunds.ach.fulfillment
                            - underwriting.collectFunds.ach.refundPolicy
                            - underwriting.sendFunds.ach.cardAcceptanceMethods
                            - underwriting.sendFunds.ach.currentlyAcceptsCards
                            - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                            - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                            - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                            - underwriting.sendFunds.ach.fulfillment
                            - underwriting.sendFunds.ach.refundPolicy
                            - underwriting.sendFunds.rtp.cardAcceptanceMethods
                            - underwriting.sendFunds.rtp.currentlyAcceptsCards
                            - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                            - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                            - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                            - underwriting.sendFunds.rtp.fulfillment
                            - underwriting.sendFunds.rtp.refundPolicy
                            - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                            - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                            - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                            - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                            - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                            - underwriting.sendFunds.pushToCard.fulfillment
                            - underwriting.sendFunds.pushToCard.refundPolicy
                            - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                            - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                            - underwriting.moneyTransfer.pullFromCard.fulfillment
                            - underwriting.moneyTransfer.pullFromCard.refundPolicy
                            - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                            - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                            - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                            - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                            - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                            - underwriting.moneyTransfer.pushToCard.fulfillment
                            - underwriting.moneyTransfer.pushToCard.refundPolicy
                          description: The unique ID of what the requirement is asking to be filled out.
                      errors:
                        type: array
                        items:
                          type: object
                          required:
                            - requirement
                          properties:
                            requirement:
                              type: string
                              enum:
                                - account.tos-acceptance
                                - individual.mobile
                                - individual.email
                                - individual.email-or-mobile
                                - individual.firstname
                                - individual.lastname
                                - individual.address
                                - individual.ssn-last4
                                - individual.ssn
                                - individual.birthdate
                                - business.legalname
                                - business.description-or-website
                                - business.entity-type
                                - business.business-type
                                - business.dba
                                - business.ein
                                - business.address
                                - business.phone
                                - business.admins
                                - business.controllers
                                - business.owners
                                - business.classification
                                - business.industry-code-mcc
                                - business.indicate-owners-provided
                                - business.average-transaction-size
                                - business.max-transaction-size
                                - business.average-monthly-transaction-volume
                                - business.volume-by-customer-type
                                - business.card-volume-distribution
                                - business.fulfillment
                                - business.description
                                - business.underwriting-documents-tier-one
                                - bank-accounts.name
                                - bank-accounts.routing-number
                                - bank-accounts.account-number
                                - document.business.verification
                                - document.individual.tin
                                - document.individual.verification
                                - document.representative.{rep-uuid}.tin
                                - document.representative.{rep-uuid}.verification
                                - representative.{rep-uuid}.mobile
                                - representative.{rep-uuid}.email
                                - representative.{rep-uuid}.email-or-mobile
                                - representative.{rep-uuid}.firstname
                                - representative.{rep-uuid}.lastname
                                - representative.{rep-uuid}.address
                                - representative.{rep-uuid}.ssn-last4
                                - representative.{rep-uuid}.ssn
                                - representative.{rep-uuid}.birthdate
                                - representative.{rep-uuid}.job-title
                                - representative.{rep-uuid}.is-controller
                                - representative.{rep-uuid}.is-owner
                                - representative.{rep-uuid}.ownership
                                - document.{doc-uuid}
                                - underwriting.businessPresence
                                - underwriting.geographicReach
                                - underwriting.volumeShareByCustomerType
                                - underwriting.pendingLitigation
                                - underwriting.documents.processingStatementsPast3Months
                                - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                                - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                                - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                                - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                                - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                                - underwriting.collectFunds.cardPayments.fulfillment
                                - underwriting.collectFunds.cardPayments.refundPolicy
                                - underwriting.collectFunds.ach.cardAcceptanceMethods
                                - underwriting.collectFunds.ach.currentlyAcceptsCards
                                - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                                - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                                - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                                - underwriting.collectFunds.ach.fulfillment
                                - underwriting.collectFunds.ach.refundPolicy
                                - underwriting.sendFunds.ach.cardAcceptanceMethods
                                - underwriting.sendFunds.ach.currentlyAcceptsCards
                                - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                                - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                                - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                                - underwriting.sendFunds.ach.fulfillment
                                - underwriting.sendFunds.ach.refundPolicy
                                - underwriting.sendFunds.rtp.cardAcceptanceMethods
                                - underwriting.sendFunds.rtp.currentlyAcceptsCards
                                - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                                - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                                - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                                - underwriting.sendFunds.rtp.fulfillment
                                - underwriting.sendFunds.rtp.refundPolicy
                                - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                                - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                                - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                                - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                                - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                                - underwriting.sendFunds.pushToCard.fulfillment
                                - underwriting.sendFunds.pushToCard.refundPolicy
                                - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                                - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                                - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                                - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                                - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                                - underwriting.moneyTransfer.pullFromCard.fulfillment
                                - underwriting.moneyTransfer.pullFromCard.refundPolicy
                                - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                                - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                                - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                                - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                                - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                                - underwriting.moneyTransfer.pushToCard.fulfillment
                                - underwriting.moneyTransfer.pushToCard.refundPolicy
                              description: The unique ID of what the requirement is asking to be filled out.
                            errorCode:
                              type: string
                              enum:
                                - invalid-value
                                - failed-automatic-verification
                                - failed-other
                                - invalid-address
                                - address-restricted
                                - tax-id-mismatch
                                - document-id-mismatch
                                - document-date-of-birth-mismatch
                                - document-name-mismatch
                                - document-address.mismatch
                                - document-number-mismatch
                                - document-incomplete
                                - document-failed-risk
                                - document-illegible
                                - document-unsupported
                                - document-not-uploaded
                                - document-corrupt
                                - document-expired
                    description: Represents individual and business data necessary to facilitate the enabling of a capability for an account.
                  disabledReason:
                    type: string
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Capabilities
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getCapability
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.capabilities.get({
                accountID: "c1697ea6-c984-4ba1-9b81-93e5e18660af",
                capabilityID: "send-funds.ach",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getCapability
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->capabilities->get(
                accountID: 'c1697ea6-c984-4ba1-9b81-93e5e18660af',
                capabilityID: Components\CapabilityID::SendFundsAch

            );

            if ($response->capability !== null) {
                // handle response
            }
        - lang: python
          label: getCapability
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.capabilities.get(account_id="c1697ea6-c984-4ba1-9b81-93e5e18660af", capability_id="send-funds.ach")

                # Handle response
                print(res)
        - lang: java
          label: getCapability
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CapabilityID;
            import org.openapis.openapi.models.operations.GetCapabilityResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetCapabilityResponse res = sdk.capabilities().get()
                            .accountID("c1697ea6-c984-4ba1-9b81-93e5e18660af")
                            .capabilityID(CapabilityID.SEND_FUNDS_ACH)
                            .call();

                    if (res.capability().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getCapability
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.capabilities.get(account_id: 'c1697ea6-c984-4ba1-9b81-93e5e18660af', capability_id: Models::Components::CapabilityID::SEND_FUNDS_ACH)

            unless res.capability.nil?
              # handle response
            end
    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.

          To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/capabilities.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: capabilityID
          in: path
          required: true
          schema:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Capabilities
      x-speakeasy-name-override: disable
      x-codeSamples:
        - lang: typescript
          label: disableCapability
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.capabilities.disable({
                accountID: "2be80c4e-d409-49ea-8a8a-76dfa4006d69",
                capabilityID: "send-funds",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: disableCapability
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->capabilities->disable(
                accountID: '2be80c4e-d409-49ea-8a8a-76dfa4006d69',
                capabilityID: Components\CapabilityID::SendFunds

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: disableCapability
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.capabilities.disable(account_id="2be80c4e-d409-49ea-8a8a-76dfa4006d69", capability_id="send-funds")

                # Handle response
                print(res)
        - lang: java
          label: disableCapability
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CapabilityID;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DisableCapabilityResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DisableCapabilityResponse res = sdk.capabilities().disable()
                            .accountID("2be80c4e-d409-49ea-8a8a-76dfa4006d69")
                            .capabilityID(CapabilityID.SEND_FUNDS)
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: disableCapability
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.capabilities.disable(account_id: '2be80c4e-d409-49ea-8a8a-76dfa4006d69', capability_id: Models::Components::CapabilityID::SEND_FUNDS)

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/cards:
    post:
      operationId: linkCard
      description: |-
        Link a card to an existing Moov account. 

        Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#link-a-card) to learn more.

        Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance. 

        During card linking, the provided data will be verified by submitting a $0 authorization (account verification) request. 
        If `merchantAccountID` is provided, the authorization request will contain that account's statement descriptor and address. 
        Otherwise, the platform account's profile will be used. If no statement descriptor has been set, the authorization will 
        use the account's name instead.

        It is strongly recommended that callers include the `X-Wait-For` header, set to `payment-method`, if the newly linked 
        card is intended to be used right away. If this header is not included, the caller will need to poll the [List Payment 
        Methods](https://docs.moov.io/api/sources/payment-methods/list/)
        endpoint to wait for the new payment methods to be available for use.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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.

            When this header is set to `payment-method`, the response will include any payment methods that were created for the newly 
            linked card in the `paymentMethods` field. Otherwise, the `paymentMethods` field will be omitted from the response.
          schema:
            type: string
            enum:
              - payment-method
            example: payment-method
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cardID
                  - fingerprint
                  - brand
                  - cardType
                  - lastFourCardNumber
                  - bin
                  - expiration
                  - billingAddress
                  - cardVerification
                properties:
                  cardID:
                    type: string
                    format: uuid
                    description: ID of the card.
                    example: 01234567-89ab-cdef-0123-456789abcdef
                  fingerprint:
                    type: string
                    maxLength: 100
                    description: |-
                      Uniquely identifies a linked payment card or token.
                      For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                      This field can be used to identify specific payment methods across multiple accounts on your platform.
                    example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  cardType:
                    type: string
                    enum:
                      - debit
                      - credit
                      - prepaid
                      - unknown
                    description: The type of the card.
                    example: credit
                  cardCategory:
                    type: string
                    description: |-
                      The category or level of the card defined by the issuer.
                      Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
                  lastFourCardNumber:
                    type: string
                    minLength: 4
                    maxLength: 4
                    description: Last four digits of the card number
                  bin:
                    type: string
                    minLength: 6
                    maxLength: 8
                    description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  holderName:
                    type: string
                    description: The name of the cardholder as it appears on the card.
                  billingAddress:
                    type: object
                    required:
                      - postalCode
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                      addressLine2:
                        type: string
                        maxLength: 32
                      city:
                        type: string
                        maxLength: 32
                      stateOrProvince:
                        type: string
                        maxLength: 2
                      postalCode:
                        type: string
                        maxLength: 10
                      country:
                        type: string
                        maxLength: 2
                    example:
                      addressLine1: 123 Main Street
                      addressLine2: Apt 302
                      city: Boulder
                      stateOrProvince: CO
                      postalCode: '80301'
                      country: US
                  cardVerification:
                    type: object
                    required:
                      - cvv
                      - addressLine1
                      - postalCode
                    properties:
                      cvv:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      addressLine1:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      postalCode:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      accountName:
                        type: object
                        properties:
                          firstName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          lastName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          middleName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          fullName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                        description: The results of submitting cardholder name to a card network for verification.
                        example:
                          firstName: match
                          lastName: match
                          middleName: match
                          fullName: match
                    description: The results of submitting cardholder data to a card network for verification.
                    example:
                      cvv: match
                      addressLine1: match
                      postalCode: match
                      accountName:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  issuer:
                    type: string
                    description: Financial institution that issued the card.
                  issuerCountry:
                    type: string
                    description: Country where the card was issued.
                  issuerURL:
                    type: string
                    format: uri
                    description: URL of the issuer.
                  issuerPhone:
                    type: string
                    description: Phone number of the issuer.
                  commercial:
                    type: boolean
                    description: |-
                      If true, the card is for commercial use, or associated with a business.
                      If false, the card is associated with a general consumer.
                  regulated:
                    type: boolean
                    description: |-
                      If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
                      If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
                  cardOnFile:
                    type: boolean
                    description: Indicates cardholder has authorized card to be stored for future payments.
                  merchantAccountID:
                    type: string
                    format: uuid
                  cardAccountUpdater:
                    type: object
                    properties:
                      updatedOn:
                        type: string
                        format: date-time
                      updateType:
                        type: string
                        enum:
                          - unspecified
                          - account-closed
                          - contact-cardholder
                          - expiration-update
                          - no-change
                          - no-match
                          - number-update
                        description: The results of the card update request.
                        example: number-update
                    description: The results of the most recent card update request.
                    example:
                      updatedOn: '2024-05-06T12:20:38.184Z'
                      updateType: number-update
                  domesticPushToCard:
                    type: string
                    enum:
                      - not-supported
                      - standard
                      - fast-funds
                      - unknown
                    description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                    example: standard
                  domesticPullFromCard:
                    type: string
                    enum:
                      - not-supported
                      - supported
                      - unknown
                    description: Indicates if the card supports domestic pull-from-card transfer.
                    example: supported
                  paymentMethods:
                    type: array
                    items:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                    description: |2-
                        Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.

                        Only returned by the link card endpoint; not included when getting or listing cards.
                description: Describes a card on a Moov account.
                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
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  e2ee:
                    type: object
                    properties:
                      token:
                        type: string
                  cardNumber:
                    type: string
                  cardCvv:
                    type: string
                  expiration:
                    type: string
                  holderName:
                    type: string
                  billingAddress:
                    type: string
                  cardOnFile:
                    type: string
                  merchantAccountID:
                    type: string
                  verifyName:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Cards
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - cardNumber
                - cardCvv
                - expiration
                - billingAddress
              properties:
                e2ee:
                  type: object
                  required:
                    - token
                  properties:
                    token:
                      type: string
                      format: jwe
                      description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
                  description: |-
                    Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
                    This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
                    [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
                  example:
                    token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
                cardNumber:
                  type: string
                cardCvv:
                  type: string
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardOnFile:
                  type: boolean
                merchantAccountID:
                  type: string
                verifyName:
                  type: boolean
              example:
                cardNumber: '4111111111111111'
                cardCvv: '123'
                expiration:
                  month: '01'
                  year: '21'
                holderName: Jules Jackson
                billingAddress:
                  postalCode: '80301'
            example:
              cardNumber: '4111111111111111'
              cardCvv: '123'
              expiration:
                month: '01'
                year: '21'
              holderName: Jules Jackson
              billingAddress:
                postalCode: '80301'
      x-speakeasy-name-override: link
      x-codeSamples:
        - lang: typescript
          label: linkCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cards.link({
                xWaitFor: "payment-method",
                accountID: "5593e46f-7936-474b-a52b-96f1da46867b",
                linkCard: {
                  cardNumber: "4111111111111111",
                  cardCvv: "123",
                  expiration: {
                    month: "01",
                    year: "21",
                  },
                  holderName: "Jules Jackson",
                  billingAddress: {
                    postalCode: "80301",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: linkCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $linkCard = new Components\LinkCard(
                cardNumber: '4111111111111111',
                cardCvv: '123',
                expiration: new Components\CardExpiration(
                    month: '01',
                    year: '21',
                ),
                holderName: 'Jules Jackson',
                billingAddress: new Components\CardAddress(
                    postalCode: '80301',
                ),
            );

            $response = $sdk->cards->link(
                accountID: '5593e46f-7936-474b-a52b-96f1da46867b',
                linkCard: $linkCard,
                xWaitFor: Components\LinkCardWaitFor::PaymentMethod

            );

            if ($response->card !== null) {
                // handle response
            }
        - lang: python
          label: linkCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.cards.link(account_id="5593e46f-7936-474b-a52b-96f1da46867b", card_number="4111111111111111", card_cvv="123", expiration={
                    "month": "01",
                    "year": "21",
                }, billing_address={
                    "postal_code": "80301",
                }, x_wait_for="payment-method", e2ee={
                    "token": "eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA",
                }, holder_name="Jules Jackson")

                # Handle response
                print(res)
        - lang: java
          label: linkCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.LinkCardError;
            import org.openapis.openapi.models.operations.LinkCardResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, LinkCardError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    LinkCardResponse res = sdk.cards().link()
                            .xWaitFor(LinkCardWaitFor.PAYMENT_METHOD)
                            .accountID("5593e46f-7936-474b-a52b-96f1da46867b")
                            .linkCard(LinkCard.builder()
                                .cardNumber("4111111111111111")
                                .cardCvv("123")
                                .expiration(CardExpiration.builder()
                                    .month("01")
                                    .year("21")
                                    .build())
                                .billingAddress(CardAddress.builder()
                                    .postalCode("80301")
                                    .build())
                                .holderName("Jules Jackson")
                                .build())
                            .call();

                    if (res.card().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: linkCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.cards.link(account_id: '5593e46f-7936-474b-a52b-96f1da46867b', link_card: Models::Components::LinkCard.new(
              card_number: '4111111111111111',
              card_cvv: '123',
              expiration: Models::Components::CardExpiration.new(
                month: '01',
                year: '21',
              ),
              holder_name: 'Jules Jackson',
              billing_address: Models::Components::CardAddress.new(
                postal_code: '80301',
              ),
            ), x_wait_for: Models::Components::LinkCardWaitFor::PAYMENT_METHOD)

            unless res.card.nil?
              # handle response
            end
    get:
      operationId: listCards
      description: |-
        List all the active cards associated with a Moov account. 

        Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - cardID
                    - fingerprint
                    - brand
                    - cardType
                    - lastFourCardNumber
                    - bin
                    - expiration
                    - billingAddress
                    - cardVerification
                  properties:
                    cardID:
                      type: string
                      format: uuid
                      description: ID of the card.
                      example: 01234567-89ab-cdef-0123-456789abcdef
                    fingerprint:
                      type: string
                      maxLength: 100
                      description: |-
                        Uniquely identifies a linked payment card or token.
                        For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                        This field can be used to identify specific payment methods across multiple accounts on your platform.
                      example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                    brand:
                      type: string
                      enum:
                        - American Express
                        - Discover
                        - Mastercard
                        - Visa
                        - Unknown
                      description: The card brand.
                      example: Visa
                    cardType:
                      type: string
                      enum:
                        - debit
                        - credit
                        - prepaid
                        - unknown
                      description: The type of the card.
                      example: credit
                    cardCategory:
                      type: string
                      description: |-
                        The category or level of the card defined by the issuer.
                        Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
                    lastFourCardNumber:
                      type: string
                      minLength: 4
                      maxLength: 4
                      description: Last four digits of the card number
                    bin:
                      type: string
                      minLength: 6
                      maxLength: 8
                      description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                    expiration:
                      type: object
                      required:
                        - month
                        - year
                      properties:
                        month:
                          type: string
                          minLength: 2
                          maxLength: 2
                        year:
                          type: string
                          minLength: 2
                          maxLength: 2
                      description: The expiration date of the card or token.
                      example:
                        month: '01'
                        year: '21'
                    holderName:
                      type: string
                      description: The name of the cardholder as it appears on the card.
                    billingAddress:
                      type: object
                      required:
                        - postalCode
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                        addressLine2:
                          type: string
                          maxLength: 32
                        city:
                          type: string
                          maxLength: 32
                        stateOrProvince:
                          type: string
                          maxLength: 2
                        postalCode:
                          type: string
                          maxLength: 10
                        country:
                          type: string
                          maxLength: 2
                      example:
                        addressLine1: 123 Main Street
                        addressLine2: Apt 302
                        city: Boulder
                        stateOrProvince: CO
                        postalCode: '80301'
                        country: US
                    cardVerification:
                      type: object
                      required:
                        - cvv
                        - addressLine1
                        - postalCode
                      properties:
                        cvv:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        addressLine1:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        postalCode:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        accountName:
                          type: object
                          properties:
                            firstName:
                              type: string
                              enum:
                                - noMatch
                                - match
                                - notChecked
                                - unavailable
                                - partialMatch
                              example: match
                            lastName:
                              type: string
                              enum:
                                - noMatch
                                - match
                                - notChecked
                                - unavailable
                                - partialMatch
                              example: match
                            middleName:
                              type: string
                              enum:
                                - noMatch
                                - match
                                - notChecked
                                - unavailable
                                - partialMatch
                              example: match
                            fullName:
                              type: string
                              enum:
                                - noMatch
                                - match
                                - notChecked
                                - unavailable
                                - partialMatch
                              example: match
                          description: The results of submitting cardholder name to a card network for verification.
                          example:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      description: The results of submitting cardholder data to a card network for verification.
                      example:
                        cvv: match
                        addressLine1: match
                        postalCode: match
                        accountName:
                          firstName: match
                          lastName: match
                          middleName: match
                          fullName: match
                    issuer:
                      type: string
                      description: Financial institution that issued the card.
                    issuerCountry:
                      type: string
                      description: Country where the card was issued.
                    issuerURL:
                      type: string
                      format: uri
                      description: URL of the issuer.
                    issuerPhone:
                      type: string
                      description: Phone number of the issuer.
                    commercial:
                      type: boolean
                      description: |-
                        If true, the card is for commercial use, or associated with a business.
                        If false, the card is associated with a general consumer.
                    regulated:
                      type: boolean
                      description: |-
                        If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
                        If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
                    cardOnFile:
                      type: boolean
                      description: Indicates cardholder has authorized card to be stored for future payments.
                    merchantAccountID:
                      type: string
                      format: uuid
                    cardAccountUpdater:
                      type: object
                      properties:
                        updatedOn:
                          type: string
                          format: date-time
                        updateType:
                          type: string
                          enum:
                            - unspecified
                            - account-closed
                            - contact-cardholder
                            - expiration-update
                            - no-change
                            - no-match
                            - number-update
                          description: The results of the card update request.
                          example: number-update
                      description: The results of the most recent card update request.
                      example:
                        updatedOn: '2024-05-06T12:20:38.184Z'
                        updateType: number-update
                    domesticPushToCard:
                      type: string
                      enum:
                        - not-supported
                        - standard
                        - fast-funds
                        - unknown
                      description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                      example: standard
                    domesticPullFromCard:
                      type: string
                      enum:
                        - not-supported
                        - supported
                        - unknown
                      description: Indicates if the card supports domestic pull-from-card transfer.
                      example: supported
                    paymentMethods:
                      type: array
                      items:
                        type: object
                        required:
                          - paymentMethodID
                          - paymentMethodType
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            description: ID of the payment method.
                          paymentMethodType:
                            type: string
                            enum:
                              - moov-wallet
                              - ach-debit-fund
                              - ach-debit-collect
                              - ach-credit-standard
                              - ach-credit-same-day
                              - rtp-credit
                              - card-payment
                              - push-to-card
                              - pull-from-card
                              - apple-pay
                              - card-present-payment
                            description: The payment method type that represents a payment rail and directionality
                      description: |2-
                          Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.

                          Only returned by the link card endpoint; not included when getting or listing cards.
                  description: Describes a card on a Moov account.
                  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
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Cards
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listCards
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cards.list({
                accountID: "b902712f-8ab9-47ba-b39f-5ccfbcac528c",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listCards
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->cards->list(
                accountID: 'b902712f-8ab9-47ba-b39f-5ccfbcac528c'
            );

            if ($response->cards !== null) {
                // handle response
            }
        - lang: python
          label: listCards
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.cards.list(account_id="b902712f-8ab9-47ba-b39f-5ccfbcac528c")

                # Handle response
                print(res)
        - lang: java
          label: listCards
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListCardsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListCardsResponse res = sdk.cards().list()
                            .accountID("b902712f-8ab9-47ba-b39f-5ccfbcac528c")
                            .call();

                    if (res.cards().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listCards
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.cards.list(account_id: 'b902712f-8ab9-47ba-b39f-5ccfbcac528c')

            unless res.cards.nil?
              # handle response
            end
  /accounts/{accountID}/cards/{cardID}:
    get:
      operationId: getCard
      description: |-
        Fetch a specific card associated with a Moov account. 

        Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: cardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the card.
            example: 01234567-89ab-cdef-0123-456789abcdef
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cardID
                  - fingerprint
                  - brand
                  - cardType
                  - lastFourCardNumber
                  - bin
                  - expiration
                  - billingAddress
                  - cardVerification
                properties:
                  cardID:
                    type: string
                    format: uuid
                    description: ID of the card.
                    example: 01234567-89ab-cdef-0123-456789abcdef
                  fingerprint:
                    type: string
                    maxLength: 100
                    description: |-
                      Uniquely identifies a linked payment card or token.
                      For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                      This field can be used to identify specific payment methods across multiple accounts on your platform.
                    example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  cardType:
                    type: string
                    enum:
                      - debit
                      - credit
                      - prepaid
                      - unknown
                    description: The type of the card.
                    example: credit
                  cardCategory:
                    type: string
                    description: |-
                      The category or level of the card defined by the issuer.
                      Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
                  lastFourCardNumber:
                    type: string
                    minLength: 4
                    maxLength: 4
                    description: Last four digits of the card number
                  bin:
                    type: string
                    minLength: 6
                    maxLength: 8
                    description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  holderName:
                    type: string
                    description: The name of the cardholder as it appears on the card.
                  billingAddress:
                    type: object
                    required:
                      - postalCode
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                      addressLine2:
                        type: string
                        maxLength: 32
                      city:
                        type: string
                        maxLength: 32
                      stateOrProvince:
                        type: string
                        maxLength: 2
                      postalCode:
                        type: string
                        maxLength: 10
                      country:
                        type: string
                        maxLength: 2
                    example:
                      addressLine1: 123 Main Street
                      addressLine2: Apt 302
                      city: Boulder
                      stateOrProvince: CO
                      postalCode: '80301'
                      country: US
                  cardVerification:
                    type: object
                    required:
                      - cvv
                      - addressLine1
                      - postalCode
                    properties:
                      cvv:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      addressLine1:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      postalCode:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      accountName:
                        type: object
                        properties:
                          firstName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          lastName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          middleName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          fullName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                        description: The results of submitting cardholder name to a card network for verification.
                        example:
                          firstName: match
                          lastName: match
                          middleName: match
                          fullName: match
                    description: The results of submitting cardholder data to a card network for verification.
                    example:
                      cvv: match
                      addressLine1: match
                      postalCode: match
                      accountName:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  issuer:
                    type: string
                    description: Financial institution that issued the card.
                  issuerCountry:
                    type: string
                    description: Country where the card was issued.
                  issuerURL:
                    type: string
                    format: uri
                    description: URL of the issuer.
                  issuerPhone:
                    type: string
                    description: Phone number of the issuer.
                  commercial:
                    type: boolean
                    description: |-
                      If true, the card is for commercial use, or associated with a business.
                      If false, the card is associated with a general consumer.
                  regulated:
                    type: boolean
                    description: |-
                      If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
                      If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
                  cardOnFile:
                    type: boolean
                    description: Indicates cardholder has authorized card to be stored for future payments.
                  merchantAccountID:
                    type: string
                    format: uuid
                  cardAccountUpdater:
                    type: object
                    properties:
                      updatedOn:
                        type: string
                        format: date-time
                      updateType:
                        type: string
                        enum:
                          - unspecified
                          - account-closed
                          - contact-cardholder
                          - expiration-update
                          - no-change
                          - no-match
                          - number-update
                        description: The results of the card update request.
                        example: number-update
                    description: The results of the most recent card update request.
                    example:
                      updatedOn: '2024-05-06T12:20:38.184Z'
                      updateType: number-update
                  domesticPushToCard:
                    type: string
                    enum:
                      - not-supported
                      - standard
                      - fast-funds
                      - unknown
                    description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                    example: standard
                  domesticPullFromCard:
                    type: string
                    enum:
                      - not-supported
                      - supported
                      - unknown
                    description: Indicates if the card supports domestic pull-from-card transfer.
                    example: supported
                  paymentMethods:
                    type: array
                    items:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                    description: |2-
                        Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.

                        Only returned by the link card endpoint; not included when getting or listing cards.
                description: Describes a card on a Moov account.
                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
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Cards
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cards.get({
                accountID: "1f590cf9-4db9-4241-8818-30f9c26362e8",
                cardID: "01234567-89ab-cdef-0123-456789abcdef",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->cards->get(
                accountID: '1f590cf9-4db9-4241-8818-30f9c26362e8',
                cardID: '01234567-89ab-cdef-0123-456789abcdef'

            );

            if ($response->card !== null) {
                // handle response
            }
        - lang: python
          label: getCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.cards.get(account_id="1f590cf9-4db9-4241-8818-30f9c26362e8", card_id="01234567-89ab-cdef-0123-456789abcdef")

                # Handle response
                print(res)
        - lang: java
          label: getCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetCardResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetCardResponse res = sdk.cards().get()
                            .accountID("1f590cf9-4db9-4241-8818-30f9c26362e8")
                            .cardID("01234567-89ab-cdef-0123-456789abcdef")
                            .call();

                    if (res.card().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.cards.get(account_id: '1f590cf9-4db9-4241-8818-30f9c26362e8', card_id: '01234567-89ab-cdef-0123-456789abcdef')

            unless res.card.nil?
              # handle response
            end
    patch:
      operationId: updateCard
      description: |-
        Update a linked card and/or resubmit it for verification. 

        If a value is provided for CVV, a new verification ($0 authorization) will be submitted for the card. Updating the expiration 
        date or 
        address will update the information stored on file for the card but will not be verified.

        Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#reverify-a-card) to learn 
        more.

        Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: cardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the card.
            example: 01234567-89ab-cdef-0123-456789abcdef
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cardID
                  - fingerprint
                  - brand
                  - cardType
                  - lastFourCardNumber
                  - bin
                  - expiration
                  - billingAddress
                  - cardVerification
                properties:
                  cardID:
                    type: string
                    format: uuid
                    description: ID of the card.
                    example: 01234567-89ab-cdef-0123-456789abcdef
                  fingerprint:
                    type: string
                    maxLength: 100
                    description: |-
                      Uniquely identifies a linked payment card or token.
                      For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                      This field can be used to identify specific payment methods across multiple accounts on your platform.
                    example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  cardType:
                    type: string
                    enum:
                      - debit
                      - credit
                      - prepaid
                      - unknown
                    description: The type of the card.
                    example: credit
                  cardCategory:
                    type: string
                    description: |-
                      The category or level of the card defined by the issuer.
                      Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
                  lastFourCardNumber:
                    type: string
                    minLength: 4
                    maxLength: 4
                    description: Last four digits of the card number
                  bin:
                    type: string
                    minLength: 6
                    maxLength: 8
                    description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  holderName:
                    type: string
                    description: The name of the cardholder as it appears on the card.
                  billingAddress:
                    type: object
                    required:
                      - postalCode
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                      addressLine2:
                        type: string
                        maxLength: 32
                      city:
                        type: string
                        maxLength: 32
                      stateOrProvince:
                        type: string
                        maxLength: 2
                      postalCode:
                        type: string
                        maxLength: 10
                      country:
                        type: string
                        maxLength: 2
                    example:
                      addressLine1: 123 Main Street
                      addressLine2: Apt 302
                      city: Boulder
                      stateOrProvince: CO
                      postalCode: '80301'
                      country: US
                  cardVerification:
                    type: object
                    required:
                      - cvv
                      - addressLine1
                      - postalCode
                    properties:
                      cvv:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      addressLine1:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      postalCode:
                        type: string
                        enum:
                          - noMatch
                          - match
                          - notChecked
                          - unavailable
                          - partialMatch
                        example: match
                      accountName:
                        type: object
                        properties:
                          firstName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          lastName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          middleName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          fullName:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                        description: The results of submitting cardholder name to a card network for verification.
                        example:
                          firstName: match
                          lastName: match
                          middleName: match
                          fullName: match
                    description: The results of submitting cardholder data to a card network for verification.
                    example:
                      cvv: match
                      addressLine1: match
                      postalCode: match
                      accountName:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  issuer:
                    type: string
                    description: Financial institution that issued the card.
                  issuerCountry:
                    type: string
                    description: Country where the card was issued.
                  issuerURL:
                    type: string
                    format: uri
                    description: URL of the issuer.
                  issuerPhone:
                    type: string
                    description: Phone number of the issuer.
                  commercial:
                    type: boolean
                    description: |-
                      If true, the card is for commercial use, or associated with a business.
                      If false, the card is associated with a general consumer.
                  regulated:
                    type: boolean
                    description: |-
                      If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
                      If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
                  cardOnFile:
                    type: boolean
                    description: Indicates cardholder has authorized card to be stored for future payments.
                  merchantAccountID:
                    type: string
                    format: uuid
                  cardAccountUpdater:
                    type: object
                    properties:
                      updatedOn:
                        type: string
                        format: date-time
                      updateType:
                        type: string
                        enum:
                          - unspecified
                          - account-closed
                          - contact-cardholder
                          - expiration-update
                          - no-change
                          - no-match
                          - number-update
                        description: The results of the card update request.
                        example: number-update
                    description: The results of the most recent card update request.
                    example:
                      updatedOn: '2024-05-06T12:20:38.184Z'
                      updateType: number-update
                  domesticPushToCard:
                    type: string
                    enum:
                      - not-supported
                      - standard
                      - fast-funds
                      - unknown
                    description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                    example: standard
                  domesticPullFromCard:
                    type: string
                    enum:
                      - not-supported
                      - supported
                      - unknown
                    description: Indicates if the card supports domestic pull-from-card transfer.
                    example: supported
                  paymentMethods:
                    type: array
                    items:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                    description: |2-
                        Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.

                        Only returned by the link card endpoint; not included when getting or listing cards.
                description: Describes a card on a Moov account.
                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
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  e2ee:
                    type: object
                    properties:
                      token:
                        type: string
                  billingAddress:
                    type: string
                  expiration:
                    type: string
                  cardCvv:
                    type: string
                  cardOnFile:
                    type: string
                  merchantAccountID:
                    type: string
                  verifyName:
                    type: string
                  holderName:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Cards
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                e2ee:
                  type: object
                  properties:
                    token:
                      type: string
                      format: jwe
                      description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
                  description: |-
                    Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
                    This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
                    [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
                  example:
                    token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
                billingAddress:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                expiration:
                  type: object
                  properties:
                    month:
                      type: string
                    year:
                      type: string
                  example:
                    month: '01'
                    year: '21'
                cardCvv:
                  type: string
                cardOnFile:
                  type: boolean
                merchantAccountID:
                  type: string
                verifyName:
                  type: boolean
                holderName:
                  type: string
              example:
                cardCvv: '456'
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cards.update({
                accountID: "7104688e-8434-482e-9556-4784be3ad3fe",
                cardID: "01234567-89ab-cdef-0123-456789abcdef",
                updateCard: {
                  cardCvv: "456",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateCard = new Components\UpdateCard(
                cardCvv: '456',
            );

            $response = $sdk->cards->update(
                accountID: '7104688e-8434-482e-9556-4784be3ad3fe',
                cardID: '01234567-89ab-cdef-0123-456789abcdef',
                updateCard: $updateCard

            );

            if ($response->card !== null) {
                // handle response
            }
        - lang: python
          label: updateCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.cards.update(account_id="7104688e-8434-482e-9556-4784be3ad3fe", card_id="01234567-89ab-cdef-0123-456789abcdef", e2ee={
                    "token": "eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA",
                }, billing_address={
                    "address_line1": "123 Main Street",
                    "address_line2": "Apt 302",
                    "city": "Boulder",
                    "state_or_province": "CO",
                    "postal_code": "80301",
                    "country": "US",
                }, expiration={
                    "month": "01",
                    "year": "21",
                }, card_cvv="456")

                # Handle response
                print(res)
        - lang: java
          label: updateCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpdateCard;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpdateCardError;
            import org.openapis.openapi.models.operations.UpdateCardResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpdateCardError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateCardResponse res = sdk.cards().update()
                            .accountID("7104688e-8434-482e-9556-4784be3ad3fe")
                            .cardID("01234567-89ab-cdef-0123-456789abcdef")
                            .updateCard(UpdateCard.builder()
                                .cardCvv("456")
                                .build())
                            .call();

                    if (res.card().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.cards.update(account_id: '7104688e-8434-482e-9556-4784be3ad3fe', card_id: '01234567-89ab-cdef-0123-456789abcdef', update_card: Models::Components::UpdateCard.new(
              card_cvv: '456',
            ))

            unless res.card.nil?
              # handle response
            end
    delete:
      operationId: disableCard
      description: |-
        Disables a card associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: cardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the card.
            example: 01234567-89ab-cdef-0123-456789abcdef
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Cards
      x-speakeasy-name-override: disable
      x-codeSamples:
        - lang: typescript
          label: disableCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cards.disable({
                accountID: "bbd12cb2-58f4-46e5-861d-1e6c4617c0c2",
                cardID: "01234567-89ab-cdef-0123-456789abcdef",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: disableCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->cards->disable(
                accountID: 'bbd12cb2-58f4-46e5-861d-1e6c4617c0c2',
                cardID: '01234567-89ab-cdef-0123-456789abcdef'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: disableCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.cards.disable(account_id="bbd12cb2-58f4-46e5-861d-1e6c4617c0c2", card_id="01234567-89ab-cdef-0123-456789abcdef")

                # Handle response
                print(res)
        - lang: java
          label: disableCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DisableCardResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DisableCardResponse res = sdk.cards().disable()
                            .accountID("bbd12cb2-58f4-46e5-861d-1e6c4617c0c2")
                            .cardID("01234567-89ab-cdef-0123-456789abcdef")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: disableCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.cards.disable(account_id: 'bbd12cb2-58f4-46e5-861d-1e6c4617c0c2', card_id: '01234567-89ab-cdef-0123-456789abcdef')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/countries:
    get:
      operationId: getAccountCountries
      description: |-
        Retrieve the specified countries of operation for an account. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - countries
                properties:
                  countries:
                    type: array
                    items:
                      type: string
                      maxLength: 64
                      example: United States
                description: The countries in which an account operates.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-speakeasy-name-override: getCountries
      x-codeSamples:
        - lang: typescript
          label: getAccountCountries
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.getCountries({
                accountID: "a2026036-cc26-42c1-beef-950662d13b5d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getAccountCountries
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accounts->getCountries(
                accountID: 'a2026036-cc26-42c1-beef-950662d13b5d'
            );

            if ($response->accountCountries !== null) {
                // handle response
            }
        - lang: python
          label: getAccountCountries
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.get_countries(account_id="a2026036-cc26-42c1-beef-950662d13b5d")

                # Handle response
                print(res)
        - lang: java
          label: getAccountCountries
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetAccountCountriesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetAccountCountriesResponse res = sdk.accounts().getCountries()
                            .accountID("a2026036-cc26-42c1-beef-950662d13b5d")
                            .call();

                    if (res.accountCountries().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getAccountCountries
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.get_countries(account_id: 'a2026036-cc26-42c1-beef-950662d13b5d')

            unless res.account_countries.nil?
              # handle response
            end
    put:
      operationId: assignAccountCountries
      description: |-
        Assign the countries of operation for an account.

        This endpoint will always overwrite the previously assigned values. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - countries
                properties:
                  countries:
                    type: array
                    items:
                      type: string
                      maxLength: 64
                      example: United States
                description: The countries in which an account operates.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - countries
                properties:
                  countries:
                    type: object
                    additionalProperties:
                      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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - countries
              properties:
                countries:
                  type: array
                  items:
                    type: string
                    maxLength: 64
                    example: United States
              description: The countries in which an account operates.
      x-speakeasy-name-override: assignCountries
      x-codeSamples:
        - lang: typescript
          label: assignAccountCountries
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.assignCountries({
                accountID: "46736fa8-4bf7-4144-8e0e-dbea1eb0805b",
                accountCountries: {
                  countries: [
                    "United States",
                  ],
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: assignAccountCountries
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $accountCountries = new Components\AccountCountries(
                countries: [
                    'United States',
                ],
            );

            $response = $sdk->accounts->assignCountries(
                accountID: '46736fa8-4bf7-4144-8e0e-dbea1eb0805b',
                accountCountries: $accountCountries

            );

            if ($response->accountCountries !== null) {
                // handle response
            }
        - lang: python
          label: assignAccountCountries
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.assign_countries(account_id="46736fa8-4bf7-4144-8e0e-dbea1eb0805b", countries=[
                    "United States",
                ])

                # Handle response
                print(res)
        - lang: java
          label: assignAccountCountries
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.AccountCountries;
            import org.openapis.openapi.models.errors.AssignCountriesError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.AssignAccountCountriesResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, AssignCountriesError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    AssignAccountCountriesResponse res = sdk.accounts().assignCountries()
                            .accountID("46736fa8-4bf7-4144-8e0e-dbea1eb0805b")
                            .accountCountries(AccountCountries.builder()
                                .countries(List.of(
                                    "United States"))
                                .build())
                            .call();

                    if (res.accountCountries().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: assignAccountCountries
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.assign_countries(account_id: '46736fa8-4bf7-4144-8e0e-dbea1eb0805b', account_countries: Models::Components::AccountCountries.new(
              countries: [
                'United States',
              ],
            ))

            unless res.account_countries.nil?
              # handle response
            end
  /accounts/{accountID}/disputes:
    get:
      operationId: listDisputes
      description: |-
        Returns the list of disputes. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: startDateTime
          in: query
          required: false
          description: Optional date-time parameter to filter all disputes created on and after the provided date and time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: endDateTime
          in: query
          required: false
          description: Optional date-time parameter to filter all disputes created on and before the provided date and time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: respondStartDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all disputes with respond by before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: respondEndDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all disputes with respond by before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: status
          in: query
          required: false
          description: Optional dispute status by which to filter the disputes.
          schema:
            type: string
            enum:
              - response-needed
              - resolved
              - under-review
              - closed
              - accepted
              - expired
              - won
              - lost
            description: |-
              The status of a particular dispute. 

              Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
          explode: false
        - name: merchantAccountID
          in: query
          required: false
          description: Optional parameter to filter by merchant account ID.
          schema:
            type: string
            format: uuid
          explode: false
        - name: cardholderAccountID
          in: query
          required: false
          description: Optional parameter to filter by cardholder account ID.
          schema:
            type: string
            format: uuid
          explode: false
        - name: disputeIDs
          in: query
          required: false
          description: Optional parameter to filter by a comma separated list of dispute IDs.
          schema:
            type: array
            items:
              type: string
          explode: false
        - name: transferIDs
          in: query
          required: false
          description: Optional parameter to filter by a comma separated list of transfer IDs.
          schema:
            type: array
            items:
              type: string
          explode: false
        - name: orderBy
          in: query
          required: false
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - disputeID
                    - merchantAccountID
                    - amount
                    - networkReasonCode
                    - transfer
                    - respondBy
                    - status
                    - phase
                    - createdOn
                  properties:
                    disputeID:
                      type: string
                      format: uuid
                    merchantAccountID:
                      type: string
                      format: uuid
                    amount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    networkReasonCode:
                      type: string
                      description: |-
                        Indicates the card network's category for the dispute. 

                        These codes may differ between card brands. You can find more information on the code from the networkReasonDescription field.
                    networkReasonDescription:
                      type: string
                      description: Provides detail on the card network's categorization of the dispute.
                    transfer:
                      type: object
                      required:
                        - transferID
                      properties:
                        transferID:
                          type: string
                          format: uuid
                          description: The disputed transfer's ID.
                    respondBy:
                      type: string
                      format: date-time
                    status:
                      type: string
                      enum:
                        - response-needed
                        - resolved
                        - under-review
                        - closed
                        - accepted
                        - expired
                        - won
                        - lost
                      description: |-
                        The status of a particular dispute. 

                        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                    phase:
                      type: string
                      enum:
                        - pre-dispute
                        - inquiry
                        - chargeback
                        - unknown
                      description: The phase of a dispute within the dispute lifecycle.
                    createdOn:
                      type: string
                      format: date-time
                    submittedOn:
                      type: string
                      format: date-time
                  description: Details of a card transaction 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
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listDisputes
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.list({
                accountID: "6fee8f6c-b2c5-44a4-aebb-718335fe4f8e",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listDisputes
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListDisputesRequest(
                accountID: '6fee8f6c-b2c5-44a4-aebb-718335fe4f8e',
                skip: 60,
                count: 20,
            );

            $response = $sdk->disputes->list(
                request: $request
            );

            if ($response->disputes !== null) {
                // handle response
            }
        - lang: python
          label: listDisputes
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.list(account_id="6fee8f6c-b2c5-44a4-aebb-718335fe4f8e", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listDisputes
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.ListDisputesRequest;
            import org.openapis.openapi.models.operations.ListDisputesResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListDisputesRequest req = ListDisputesRequest.builder()
                            .accountID("6fee8f6c-b2c5-44a4-aebb-718335fe4f8e")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListDisputesResponse res = sdk.disputes().list()
                            .request(req)
                            .call();

                    if (res.disputes().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listDisputes
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListDisputesRequest.new(
              account_id: '6fee8f6c-b2c5-44a4-aebb-718335fe4f8e',
              skip: 60,
              count: 20,
            )

            res = s.disputes.list(request: req)

            unless res.disputes.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}:
    get:
      operationId: getDispute
      description: |-
        Get a dispute by ID. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - disputeID
                  - merchantAccountID
                  - amount
                  - networkReasonCode
                  - transfer
                  - respondBy
                  - status
                  - phase
                  - createdOn
                properties:
                  disputeID:
                    type: string
                    format: uuid
                  merchantAccountID:
                    type: string
                    format: uuid
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  networkReasonCode:
                    type: string
                    description: |-
                      Indicates the card network's category for the dispute. 

                      These codes may differ between card brands. You can find more information on the code from the networkReasonDescription field.
                  networkReasonDescription:
                    type: string
                    description: Provides detail on the card network's categorization of the dispute.
                  transfer:
                    type: object
                    required:
                      - transferID
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: The disputed transfer's ID.
                  respondBy:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - response-needed
                      - resolved
                      - under-review
                      - closed
                      - accepted
                      - expired
                      - won
                      - lost
                    description: |-
                      The status of a particular dispute. 

                      Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                  phase:
                    type: string
                    enum:
                      - pre-dispute
                      - inquiry
                      - chargeback
                      - unknown
                    description: The phase of a dispute within the dispute lifecycle.
                  createdOn:
                    type: string
                    format: date-time
                  submittedOn:
                    type: string
                    format: date-time
                description: Details of a card transaction 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
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getDispute
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.get({
                accountID: "44d3e9dd-7128-4b00-8cd9-09d3242e5bcf",
                disputeID: "4be10af9-ddeb-428b-8333-7430afce142f",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getDispute
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->get(
                accountID: '44d3e9dd-7128-4b00-8cd9-09d3242e5bcf',
                disputeID: '4be10af9-ddeb-428b-8333-7430afce142f'

            );

            if ($response->dispute !== null) {
                // handle response
            }
        - lang: python
          label: getDispute
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.get(account_id="44d3e9dd-7128-4b00-8cd9-09d3242e5bcf", dispute_id="4be10af9-ddeb-428b-8333-7430afce142f")

                # Handle response
                print(res)
        - lang: java
          label: getDispute
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetDisputeResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetDisputeResponse res = sdk.disputes().get()
                            .accountID("44d3e9dd-7128-4b00-8cd9-09d3242e5bcf")
                            .disputeID("4be10af9-ddeb-428b-8333-7430afce142f")
                            .call();

                    if (res.dispute().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getDispute
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.get(account_id: '44d3e9dd-7128-4b00-8cd9-09d3242e5bcf', dispute_id: '4be10af9-ddeb-428b-8333-7430afce142f')

            unless res.dispute.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/accept:
    post:
      operationId: acceptDispute
      description: |-
        Accepts liability for a dispute. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - disputeID
                  - merchantAccountID
                  - amount
                  - networkReasonCode
                  - transfer
                  - respondBy
                  - status
                  - phase
                  - createdOn
                properties:
                  disputeID:
                    type: string
                    format: uuid
                  merchantAccountID:
                    type: string
                    format: uuid
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  networkReasonCode:
                    type: string
                    description: |-
                      Indicates the card network's category for the dispute. 

                      These codes may differ between card brands. You can find more information on the code from the networkReasonDescription field.
                  networkReasonDescription:
                    type: string
                    description: Provides detail on the card network's categorization of the dispute.
                  transfer:
                    type: object
                    required:
                      - transferID
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: The disputed transfer's ID.
                  respondBy:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - response-needed
                      - resolved
                      - under-review
                      - closed
                      - accepted
                      - expired
                      - won
                      - lost
                    description: |-
                      The status of a particular dispute. 

                      Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                  phase:
                    type: string
                    enum:
                      - pre-dispute
                      - inquiry
                      - chargeback
                      - unknown
                    description: The phase of a dispute within the dispute lifecycle.
                  createdOn:
                    type: string
                    format: date-time
                  submittedOn:
                    type: string
                    format: date-time
                description: Details of a card transaction 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
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: accept
      x-codeSamples:
        - lang: typescript
          label: acceptDispute
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.accept({
                accountID: "ef028cdd-49e0-4cd8-9c89-6673e28e226e",
                disputeID: "b7cf0931-5fbb-4e79-94cb-96291b634f63",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: acceptDispute
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->accept(
                accountID: 'ef028cdd-49e0-4cd8-9c89-6673e28e226e',
                disputeID: 'b7cf0931-5fbb-4e79-94cb-96291b634f63'

            );

            if ($response->dispute !== null) {
                // handle response
            }
        - lang: python
          label: acceptDispute
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.accept(account_id="ef028cdd-49e0-4cd8-9c89-6673e28e226e", dispute_id="b7cf0931-5fbb-4e79-94cb-96291b634f63")

                # Handle response
                print(res)
        - lang: java
          label: acceptDispute
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.AcceptDisputeResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    AcceptDisputeResponse res = sdk.disputes().accept()
                            .accountID("ef028cdd-49e0-4cd8-9c89-6673e28e226e")
                            .disputeID("b7cf0931-5fbb-4e79-94cb-96291b634f63")
                            .call();

                    if (res.dispute().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: acceptDispute
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.accept(account_id: 'ef028cdd-49e0-4cd8-9c89-6673e28e226e', dispute_id: 'b7cf0931-5fbb-4e79-94cb-96291b634f63')

            unless res.dispute.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence:
    get:
      operationId: listDisputeEvidence
      description: |-
        Returns a dispute's public evidence by its ID. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - evidenceID
                    - disputeID
                    - evidenceType
                    - createdOn
                    - updatedOn
                  properties:
                    evidenceID:
                      type: string
                      format: uuid
                    disputeID:
                      type: string
                      format: uuid
                    evidenceType:
                      type: string
                      enum:
                        - receipt
                        - proof-of-delivery
                        - cancelation-policy
                        - terms-of-service
                        - customer-communication
                        - generic-evidence
                        - cover-letter
                        - other
                    text:
                      type: string
                      description: For text evidence, the text submitted as evidence.
                    mimeType:
                      type: string
                      description: For file evidence, the MIME type of the file.
                    filename:
                      type: string
                      description: For file evidence, the name of the file.
                    size:
                      type: integer
                      format: int64
                      description: For file evidence, the size of the file.
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    submittedOn:
                      type: string
                      format: date-time
                      description: When the evidence was submitted for review.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: listEvidence
      x-codeSamples:
        - lang: typescript
          label: listDisputeEvidence
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.listEvidence({
                accountID: "efc12040-97af-4720-91c5-14cd1a83877b",
                disputeID: "f1c23432-4110-4981-9b72-b98df94bb61c",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listDisputeEvidence
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->listEvidence(
                accountID: 'efc12040-97af-4720-91c5-14cd1a83877b',
                disputeID: 'f1c23432-4110-4981-9b72-b98df94bb61c'

            );

            if ($response->disputeEvidenceResponses !== null) {
                // handle response
            }
        - lang: python
          label: listDisputeEvidence
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.list_evidence(account_id="efc12040-97af-4720-91c5-14cd1a83877b", dispute_id="f1c23432-4110-4981-9b72-b98df94bb61c")

                # Handle response
                print(res)
        - lang: java
          label: listDisputeEvidence
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListDisputeEvidenceResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListDisputeEvidenceResponse res = sdk.disputes().listEvidence()
                            .accountID("efc12040-97af-4720-91c5-14cd1a83877b")
                            .disputeID("f1c23432-4110-4981-9b72-b98df94bb61c")
                            .call();

                    if (res.disputeEvidenceResponses().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listDisputeEvidence
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.list_evidence(account_id: 'efc12040-97af-4720-91c5-14cd1a83877b', dispute_id: 'f1c23432-4110-4981-9b72-b98df94bb61c')

            unless res.dispute_evidence_responses.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence-file:
    post:
      operationId: uploadDisputeEvidenceFile
      description: |-
        Uploads a file as evidence for a dispute. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - evidenceID
                  - disputeID
                  - filename
                  - mimeType
                  - size
                  - evidenceType
                  - createdOn
                properties:
                  evidenceID:
                    type: string
                    format: uuid
                    description: The ID of the evidence.
                  disputeID:
                    type: string
                    format: uuid
                    description: The ID of the dispute the evidence is associated with.
                  filename:
                    type: string
                    description: The name of the evidence file.
                  mimeType:
                    type: string
                    description: The MIME type of the evidence file.
                  size:
                    type: integer
                    format: int64
                    description: The size of the evidence file.
                  evidenceType:
                    type: string
                    enum:
                      - receipt
                      - proof-of-delivery
                      - cancelation-policy
                      - terms-of-service
                      - customer-communication
                      - generic-evidence
                      - cover-letter
                      - other
                  createdOn:
                    type: string
                    format: date-time
                    description: The date and time the evidence was uploaded.
                description: Details of a successfully uploaded evidence file.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  evidenceType:
                    type: string
                  file:
                    type: object
                    properties:
                      filename:
                        type: string
                      mimeType:
                        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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - evidenceType
              properties:
                file:
                  type: string
                  format: binary
                  description: |-
                    The file to upload as evidence. Valid types are [jpeg, tiff, pdf] with a limit of 4MB per file.

                    The `Content-Type` header for this form part must be one of the following:
                      - `image/jpeg`
                      - `image/tiff`
                      - `application/pdf`
                evidenceType:
                  type: string
                  enum:
                    - receipt
                    - proof-of-delivery
                    - cancelation-policy
                    - terms-of-service
                    - customer-communication
                    - generic-evidence
                    - cover-letter
                    - other
      x-speakeasy-name-override: uploadEvidenceFile
      x-codeSamples:
        - lang: typescript
          label: uploadDisputeEvidenceFile
          source: |-
            import { openAsBlob } from "node:fs";
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.uploadEvidenceFile({
                accountID: "c09fd2f8-75fb-4ed9-be03-f8565d3ddc67",
                disputeID: "ad27f84d-00b1-4db0-8cf5-be001d71251d",
                createEvidenceFileMultiPart: {
                  file: await openAsBlob("example.file"),
                  evidenceType: "cancelation-policy",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: uploadDisputeEvidenceFile
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createEvidenceFileMultiPart = new Components\CreateEvidenceFileMultiPart(
                file: new Components\CreateEvidenceFileMultiPartFile(
                    fileName: 'example.file',
                    content: file_get_contents('example.file');,
                ),
                evidenceType: Components\EvidenceType::CancelationPolicy,
            );

            $response = $sdk->disputes->uploadEvidenceFile(
                accountID: 'c09fd2f8-75fb-4ed9-be03-f8565d3ddc67',
                disputeID: 'ad27f84d-00b1-4db0-8cf5-be001d71251d',
                createEvidenceFileMultiPart: $createEvidenceFileMultiPart

            );

            if ($response->evidenceUploadResponse !== null) {
                // handle response
            }
        - lang: python
          label: uploadDisputeEvidenceFile
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.upload_evidence_file(account_id="c09fd2f8-75fb-4ed9-be03-f8565d3ddc67", dispute_id="ad27f84d-00b1-4db0-8cf5-be001d71251d", file={
                    "file_name": "example.file",
                    "content": open("example.file", "rb"),
                }, evidence_type="cancelation-policy")

                # Handle response
                print(res)
        - lang: java
          label: uploadDisputeEvidenceFile
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.nio.file.Paths;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.FileUploadValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UploadDisputeEvidenceFileResponse;
            import org.openapis.openapi.utils.Blob;

            public class Application {

                public static void main(String[] args) throws GenericError, FileUploadValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UploadDisputeEvidenceFileResponse res = sdk.disputes().uploadEvidenceFile()
                            .accountID("c09fd2f8-75fb-4ed9-be03-f8565d3ddc67")
                            .disputeID("ad27f84d-00b1-4db0-8cf5-be001d71251d")
                            .createEvidenceFileMultiPart(CreateEvidenceFileMultiPart.builder()
                                .file(CreateEvidenceFileMultiPartFile.builder()
                                    .fileName("example.file")
                                    .content(Blob.from(Paths.get("example.file")))
                                    .build())
                                .evidenceType(EvidenceType.CANCELATION_POLICY)
                                .build())
                            .call();

                }
            }
        - lang: ruby
          label: uploadDisputeEvidenceFile
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.upload_evidence_file(account_id: 'c09fd2f8-75fb-4ed9-be03-f8565d3ddc67', dispute_id: 'ad27f84d-00b1-4db0-8cf5-be001d71251d', create_evidence_file_multi_part: Models::Components::CreateEvidenceFileMultiPart.new(
              file: Models::Components::CreateEvidenceFileMultiPartFile.new(
                file_name: 'example.file',
                content: File.binread("example.file"),
              ),
              evidence_type: Models::Components::EvidenceType::CANCELATION_POLICY,
            ))

            unless res.evidence_upload_response.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence-text:
    post:
      operationId: uploadDisputeEvidenceText
      description: |-
        Uploads text as evidence for a dispute.

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - evidenceID
                  - disputeID
                  - evidenceType
                  - text
                  - createdOn
                properties:
                  evidenceID:
                    type: string
                    format: uuid
                  disputeID:
                    type: string
                    format: uuid
                  evidenceType:
                    type: string
                    enum:
                      - receipt
                      - proof-of-delivery
                      - cancelation-policy
                      - terms-of-service
                      - customer-communication
                      - generic-evidence
                      - cover-letter
                      - other
                  text:
                    type: string
                  createdOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - text
                - evidenceType
              properties:
                text:
                  type: string
                  maxLength: 750
                  description: The text to associate with the dispute as evidence.
                evidenceType:
                  type: string
                  enum:
                    - receipt
                    - proof-of-delivery
                    - cancelation-policy
                    - terms-of-service
                    - customer-communication
                    - generic-evidence
                    - cover-letter
                    - other
      x-speakeasy-name-override: uploadEvidenceText
      x-codeSamples:
        - lang: typescript
          label: uploadDisputeEvidenceText
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.uploadEvidenceText({
                accountID: "ed2ca924-e2c4-4f3a-b077-866bb07b0671",
                disputeID: "14832e8d-3613-45ce-942e-3116b9e0d194",
                createEvidenceText: {
                  text: "<value>",
                  evidenceType: "generic-evidence",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: uploadDisputeEvidenceText
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createEvidenceText = new Components\CreateEvidenceText(
                text: '<value>',
                evidenceType: Components\EvidenceType::GenericEvidence,
            );

            $response = $sdk->disputes->uploadEvidenceText(
                accountID: 'ed2ca924-e2c4-4f3a-b077-866bb07b0671',
                disputeID: '14832e8d-3613-45ce-942e-3116b9e0d194',
                createEvidenceText: $createEvidenceText

            );

            if ($response->evidenceTextResponse !== null) {
                // handle response
            }
        - lang: python
          label: uploadDisputeEvidenceText
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.upload_evidence_text(account_id="ed2ca924-e2c4-4f3a-b077-866bb07b0671", dispute_id="14832e8d-3613-45ce-942e-3116b9e0d194", text="<value>", evidence_type="generic-evidence")

                # Handle response
                print(res)
        - lang: java
          label: uploadDisputeEvidenceText
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateEvidenceText;
            import org.openapis.openapi.models.components.EvidenceType;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UploadDisputeEvidenceTextResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UploadDisputeEvidenceTextResponse res = sdk.disputes().uploadEvidenceText()
                            .accountID("ed2ca924-e2c4-4f3a-b077-866bb07b0671")
                            .disputeID("14832e8d-3613-45ce-942e-3116b9e0d194")
                            .createEvidenceText(CreateEvidenceText.builder()
                                .text("<value>")
                                .evidenceType(EvidenceType.GENERIC_EVIDENCE)
                                .build())
                            .call();

                    if (res.evidenceTextResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: uploadDisputeEvidenceText
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.upload_evidence_text(account_id: 'ed2ca924-e2c4-4f3a-b077-866bb07b0671', dispute_id: '14832e8d-3613-45ce-942e-3116b9e0d194', create_evidence_text: Models::Components::CreateEvidenceText.new(
              text: '<value>',
              evidence_type: Models::Components::EvidenceType::GENERIC_EVIDENCE,
            ))

            unless res.evidence_text_response.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence/submit:
    post:
      operationId: submitDisputeEvidence
      description: |-
        Submit the evidence associated with a dispute.

        Evidence items must be uploaded using the appropriate endpoint(s) prior to calling this endpoint to submit it. **Evidence can only
        be submitted once per dispute.**

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - disputeID
                  - merchantAccountID
                  - amount
                  - networkReasonCode
                  - transfer
                  - respondBy
                  - status
                  - phase
                  - createdOn
                properties:
                  disputeID:
                    type: string
                    format: uuid
                  merchantAccountID:
                    type: string
                    format: uuid
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  networkReasonCode:
                    type: string
                    description: |-
                      Indicates the card network's category for the dispute. 

                      These codes may differ between card brands. You can find more information on the code from the networkReasonDescription field.
                  networkReasonDescription:
                    type: string
                    description: Provides detail on the card network's categorization of the dispute.
                  transfer:
                    type: object
                    required:
                      - transferID
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: The disputed transfer's ID.
                  respondBy:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - response-needed
                      - resolved
                      - under-review
                      - closed
                      - accepted
                      - expired
                      - won
                      - lost
                    description: |-
                      The status of a particular dispute. 

                      Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                  phase:
                    type: string
                    enum:
                      - pre-dispute
                      - inquiry
                      - chargeback
                      - unknown
                    description: The phase of a dispute within the dispute lifecycle.
                  createdOn:
                    type: string
                    format: date-time
                  submittedOn:
                    type: string
                    format: date-time
                description: Details of a card transaction 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: submitEvidence
      x-codeSamples:
        - lang: typescript
          label: submitDisputeEvidence
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.submitEvidence({
                accountID: "01f79d04-f2de-42de-9e37-23c751edecb4",
                disputeID: "8c5d6d6e-420a-49c8-b7c3-d4b5d1bbd415",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: submitDisputeEvidence
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->submitEvidence(
                accountID: '01f79d04-f2de-42de-9e37-23c751edecb4',
                disputeID: '8c5d6d6e-420a-49c8-b7c3-d4b5d1bbd415'

            );

            if ($response->dispute !== null) {
                // handle response
            }
        - lang: python
          label: submitDisputeEvidence
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.submit_evidence(account_id="01f79d04-f2de-42de-9e37-23c751edecb4", dispute_id="8c5d6d6e-420a-49c8-b7c3-d4b5d1bbd415")

                # Handle response
                print(res)
        - lang: java
          label: submitDisputeEvidence
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.SubmitDisputeEvidenceResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    SubmitDisputeEvidenceResponse res = sdk.disputes().submitEvidence()
                            .accountID("01f79d04-f2de-42de-9e37-23c751edecb4")
                            .disputeID("8c5d6d6e-420a-49c8-b7c3-d4b5d1bbd415")
                            .call();

                    if (res.dispute().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: submitDisputeEvidence
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.submit_evidence(account_id: '01f79d04-f2de-42de-9e37-23c751edecb4', dispute_id: '8c5d6d6e-420a-49c8-b7c3-d4b5d1bbd415')

            unless res.dispute.nil?
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence/{evidenceID}:
    get:
      operationId: getDisputeEvidence
      description: |-
        Get dispute evidence by ID.

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: evidenceID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - evidenceID
                  - disputeID
                  - evidenceType
                  - createdOn
                  - updatedOn
                properties:
                  evidenceID:
                    type: string
                    format: uuid
                  disputeID:
                    type: string
                    format: uuid
                  evidenceType:
                    type: string
                    enum:
                      - receipt
                      - proof-of-delivery
                      - cancelation-policy
                      - terms-of-service
                      - customer-communication
                      - generic-evidence
                      - cover-letter
                      - other
                  text:
                    type: string
                    description: For text evidence, the text submitted as evidence.
                  mimeType:
                    type: string
                    description: For file evidence, the MIME type of the file.
                  filename:
                    type: string
                    description: For file evidence, the name of the file.
                  size:
                    type: integer
                    format: int64
                    description: For file evidence, the size of the file.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  submittedOn:
                    type: string
                    format: date-time
                    description: When the evidence was submitted for review.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: getEvidence
      x-codeSamples:
        - lang: typescript
          label: getDisputeEvidence
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.getEvidence({
                accountID: "ab59cc9a-6480-40fe-8a06-8c41883e3c79",
                disputeID: "4fc54609-7e6b-4a75-b8b3-7ffbeb138e22",
                evidenceID: "08c4d04c-1296-4bfd-bafb-bee195f85785",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getDisputeEvidence
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->getEvidence(
                accountID: 'ab59cc9a-6480-40fe-8a06-8c41883e3c79',
                disputeID: '4fc54609-7e6b-4a75-b8b3-7ffbeb138e22',
                evidenceID: '08c4d04c-1296-4bfd-bafb-bee195f85785'

            );

            if ($response->disputeEvidenceResponse !== null) {
                // handle response
            }
        - lang: python
          label: getDisputeEvidence
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.get_evidence(account_id="ab59cc9a-6480-40fe-8a06-8c41883e3c79", dispute_id="4fc54609-7e6b-4a75-b8b3-7ffbeb138e22", evidence_id="08c4d04c-1296-4bfd-bafb-bee195f85785")

                # Handle response
                print(res)
        - lang: java
          label: getDisputeEvidence
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetDisputeEvidenceResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetDisputeEvidenceResponse res = sdk.disputes().getEvidence()
                            .accountID("ab59cc9a-6480-40fe-8a06-8c41883e3c79")
                            .disputeID("4fc54609-7e6b-4a75-b8b3-7ffbeb138e22")
                            .evidenceID("08c4d04c-1296-4bfd-bafb-bee195f85785")
                            .call();

                    if (res.disputeEvidenceResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getDisputeEvidence
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.get_evidence(account_id: 'ab59cc9a-6480-40fe-8a06-8c41883e3c79', dispute_id: '4fc54609-7e6b-4a75-b8b3-7ffbeb138e22', evidence_id: '08c4d04c-1296-4bfd-bafb-bee195f85785')

            unless res.dispute_evidence_response.nil?
              # handle response
            end
    patch:
      operationId: updateDisputeEvidence
      description: |-
        Updates dispute evidence by ID.

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: evidenceID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - evidenceID
                  - disputeID
                  - evidenceType
                  - createdOn
                  - updatedOn
                properties:
                  evidenceID:
                    type: string
                    format: uuid
                  disputeID:
                    type: string
                    format: uuid
                  evidenceType:
                    type: string
                    enum:
                      - receipt
                      - proof-of-delivery
                      - cancelation-policy
                      - terms-of-service
                      - customer-communication
                      - generic-evidence
                      - cover-letter
                      - other
                  text:
                    type: string
                    description: For text evidence, the text submitted as evidence.
                  mimeType:
                    type: string
                    description: For file evidence, the MIME type of the file.
                  filename:
                    type: string
                    description: For file evidence, the name of the file.
                  size:
                    type: integer
                    format: int64
                    description: For file evidence, the size of the file.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  submittedOn:
                    type: string
                    format: date-time
                    description: When the evidence was submitted for review.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                evidenceType:
                  type: string
                  enum:
                    - receipt
                    - proof-of-delivery
                    - cancelation-policy
                    - terms-of-service
                    - customer-communication
                    - generic-evidence
                    - cover-letter
                    - other
                text:
                  type: string
                  description: If updating text evidence, the new text to associate with the dispute.
      x-speakeasy-name-override: updateEvidence
      x-codeSamples:
        - lang: typescript
          label: updateDisputeEvidence
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.updateEvidence({
                accountID: "bc2af75d-427a-486d-8580-3adfa9599023",
                disputeID: "36df0cea-d95d-427e-ba60-c9923d1e25a7",
                evidenceID: "fd46ede8-5d47-4e5e-91a7-9af8162f76b2",
                updateEvidence: {},
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateDisputeEvidence
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\UpdateDisputeEvidenceRequest(
                accountID: 'bc2af75d-427a-486d-8580-3adfa9599023',
                disputeID: '36df0cea-d95d-427e-ba60-c9923d1e25a7',
                evidenceID: 'fd46ede8-5d47-4e5e-91a7-9af8162f76b2',
                updateEvidence: new Components\UpdateEvidence(),
            );

            $response = $sdk->disputes->updateEvidence(
                request: $request
            );

            if ($response->disputeEvidenceResponse !== null) {
                // handle response
            }
        - lang: python
          label: updateDisputeEvidence
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.update_evidence(account_id="bc2af75d-427a-486d-8580-3adfa9599023", dispute_id="36df0cea-d95d-427e-ba60-c9923d1e25a7", evidence_id="fd46ede8-5d47-4e5e-91a7-9af8162f76b2")

                # Handle response
                print(res)
        - lang: java
          label: updateDisputeEvidence
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpdateEvidence;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UpdateDisputeEvidenceResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateDisputeEvidenceResponse res = sdk.disputes().updateEvidence()
                            .accountID("bc2af75d-427a-486d-8580-3adfa9599023")
                            .disputeID("36df0cea-d95d-427e-ba60-c9923d1e25a7")
                            .evidenceID("fd46ede8-5d47-4e5e-91a7-9af8162f76b2")
                            .updateEvidence(UpdateEvidence.builder()
                                .build())
                            .call();

                    if (res.disputeEvidenceResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateDisputeEvidence
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::UpdateDisputeEvidenceRequest.new(
              account_id: 'bc2af75d-427a-486d-8580-3adfa9599023',
              dispute_id: '36df0cea-d95d-427e-ba60-c9923d1e25a7',
              evidence_id: 'fd46ede8-5d47-4e5e-91a7-9af8162f76b2',
              update_evidence: Models::Components::UpdateEvidence.new(),
            )

            res = s.disputes.update_evidence(request: req)

            unless res.dispute_evidence_response.nil?
              # handle response
            end
    delete:
      operationId: deleteDisputeEvidenceFile
      description: |-
        Deletes dispute evidence by ID. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: evidenceID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: deleteEvidence
      x-codeSamples:
        - lang: typescript
          label: deleteDisputeEvidenceFile
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.deleteEvidence({
                accountID: "b21731c6-3497-46a3-859a-3761a6b8e096",
                disputeID: "1759456d-80e3-4428-a08d-302c8877b418",
                evidenceID: "ea10cba6-166f-464d-b57b-30d995d44b98",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: deleteDisputeEvidenceFile
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->deleteEvidence(
                accountID: 'b21731c6-3497-46a3-859a-3761a6b8e096',
                disputeID: '1759456d-80e3-4428-a08d-302c8877b418',
                evidenceID: 'ea10cba6-166f-464d-b57b-30d995d44b98'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: deleteDisputeEvidenceFile
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.delete_evidence(account_id="b21731c6-3497-46a3-859a-3761a6b8e096", dispute_id="1759456d-80e3-4428-a08d-302c8877b418", evidence_id="ea10cba6-166f-464d-b57b-30d995d44b98")

                # Handle response
                print(res)
        - lang: java
          label: deleteDisputeEvidenceFile
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DeleteDisputeEvidenceFileResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DeleteDisputeEvidenceFileResponse res = sdk.disputes().deleteEvidence()
                            .accountID("b21731c6-3497-46a3-859a-3761a6b8e096")
                            .disputeID("1759456d-80e3-4428-a08d-302c8877b418")
                            .evidenceID("ea10cba6-166f-464d-b57b-30d995d44b98")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: deleteDisputeEvidenceFile
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.delete_evidence(account_id: 'b21731c6-3497-46a3-859a-3761a6b8e096', dispute_id: '1759456d-80e3-4428-a08d-302c8877b418', evidence_id: 'ea10cba6-166f-464d-b57b-30d995d44b98')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/disputes/{disputeID}/evidence/{evidenceID}/data:
    get:
      operationId: getDisputeEvidenceData
      description: |-
        Downloads dispute evidence data by ID.

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: disputeID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: evidenceID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Disputes
      x-speakeasy-name-override: getEvidenceData
      x-codeSamples:
        - lang: typescript
          label: getDisputeEvidenceData
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.disputes.getEvidenceData({
                accountID: "83e6bc61-f894-4cd8-b847-d617383323fb",
                disputeID: "b7e45862-1e55-4ba0-842f-9fce30c0228b",
                evidenceID: "3d195b92-798e-4ea4-9347-1c86efacbf38",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getDisputeEvidenceData
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->disputes->getEvidenceData(
                accountID: '83e6bc61-f894-4cd8-b847-d617383323fb',
                disputeID: 'b7e45862-1e55-4ba0-842f-9fce30c0228b',
                evidenceID: '3d195b92-798e-4ea4-9347-1c86efacbf38'

            );

            if ($response->twoHundredApplicationPdfBytes !== null) {
                // handle response
            }
        - lang: python
          label: getDisputeEvidenceData
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.disputes.get_evidence_data(account_id="83e6bc61-f894-4cd8-b847-d617383323fb", dispute_id="b7e45862-1e55-4ba0-842f-9fce30c0228b", evidence_id="3d195b92-798e-4ea4-9347-1c86efacbf38")

                # Handle response
                print(res)
        - lang: java
          label: getDisputeEvidenceData
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetDisputeEvidenceDataResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetDisputeEvidenceDataResponse res = sdk.disputes().getEvidenceData()
                            .accountID("83e6bc61-f894-4cd8-b847-d617383323fb")
                            .disputeID("b7e45862-1e55-4ba0-842f-9fce30c0228b")
                            .evidenceID("3d195b92-798e-4ea4-9347-1c86efacbf38")
                            .call();

                    if (res.twoHundredApplicationPdfResponseStream().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getDisputeEvidenceData
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.disputes.get_evidence_data(account_id: '83e6bc61-f894-4cd8-b847-d617383323fb', dispute_id: 'b7e45862-1e55-4ba0-842f-9fce30c0228b', evidence_id: '3d195b92-798e-4ea4-9347-1c86efacbf38')

            unless res.two_hundred_application_pdf_bytes.nil?
              # handle response
            end
  /accounts/{accountID}/fee-plan-agreements:
    get:
      operationId: listFeePlanAgreements
      description: |-
        List all fee plan agreements associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - 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:
              type: string
              enum:
                - active
                - terminated
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - agreementID
                    - planID
                    - name
                    - acceptedOn
                    - status
                    - cardAcquiringModel
                    - billableFees
                    - minimumCommitment
                    - monthlyPlatformFee
                  properties:
                    agreementID:
                      type: string
                      format: uuid
                    planID:
                      type: string
                      format: uuid
                    accountID:
                      type: string
                      format: uuid
                    name:
                      type: string
                      description: The name of the agreement.
                    description:
                      type: string
                      description: The description of the agreement.
                    acceptedOn:
                      type: string
                      format: date-time
                    status:
                      type: string
                      enum:
                        - active
                        - terminated
                    cardAcquiringModel:
                      type: string
                      enum:
                        - cost-plus
                        - flat-rate
                      description: Specifies the card processing pricing model
                    billableFees:
                      type: array
                      items:
                        type: object
                        required:
                          - feeModel
                          - feeCategory
                        properties:
                          billableFeeID:
                            type: string
                            format: uuid
                          billableEvent:
                            type: string
                            description: A unique code identifying a charge.
                          feeName:
                            type: string
                            description: Specifies the name of the fee that will be billed.
                          feeModel:
                            type: string
                            enum:
                              - fixed
                              - blended
                              - variable
                            description: Specifies the pricing model used for the calculation of the final fee.
                          feeCategory:
                            type: string
                            enum:
                              - ach
                              - card-acquiring
                              - card-other
                              - card-pull
                              - card-push
                              - monthly-platform
                              - network-passthrough
                              - other
                              - rtp
                          feeProperties:
                            type: object
                            properties:
                              fixedAmount:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                              variableRate:
                                type: string
                                pattern: ^[0-9]+.?[0-9]*$
                                description: |-
                                  A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                                  For example, 0.05% is '0.05'.
                                example: '0.05'
                              minPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                              maxPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                            description: Defines the specific parameters used for fee calculation.
                            example:
                              fixedAmount:
                                currency: USD
                                valueDecimal: '0.0195'
                              variableRate: '0.15'
                              minPerTransaction:
                                currency: USD
                                valueDecimal: '0.0195'
                              maxPerTransaction:
                                currency: USD
                                valueDecimal: '0.035'
                          feeConditions:
                            type: object
                            additionalProperties: {}
                            description: Defines the specific conditions that must be met for the fee to be applied.
                            example:
                              cardBrand:
                                - visa
                        example:
                          billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                          billableEvent: card-auth-volume
                          feeName: Card decline fee
                          feeModel: fixed
                          feeCategory: card-acquiring
                          feeProperties:
                            fixedAmount:
                              currency: USD
                              valueDecimal: '0.1'
                          feeConditions:
                            transactionType:
                              - decline
                    minimumCommitment:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
                    monthlyPlatformFee:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Fixed recurring amount paid in the billing period regardless of usage.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      x-codeSamples:
        - lang: typescript
          label: listFeePlanAgreements
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.listFeePlanAgreements({
                skip: 60,
                count: 20,
                accountID: "93c43634-5477-42a7-972d-01fa76a09e17",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listFeePlanAgreements
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListFeePlanAgreementsRequest(
                skip: 60,
                count: 20,
                accountID: '93c43634-5477-42a7-972d-01fa76a09e17',
            );

            $response = $sdk->feePlans->listFeePlanAgreements(
                request: $request
            );

            if ($response->feePlanAgreements !== null) {
                // handle response
            }
        - lang: python
          label: listFeePlanAgreements
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.list_fee_plan_agreements(account_id="93c43634-5477-42a7-972d-01fa76a09e17", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listFeePlanAgreements
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListFeePlanAgreementsRequest;
            import org.openapis.openapi.models.operations.ListFeePlanAgreementsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListFeePlanAgreementsRequest req = ListFeePlanAgreementsRequest.builder()
                            .accountID("93c43634-5477-42a7-972d-01fa76a09e17")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListFeePlanAgreementsResponse res = sdk.feePlans().listFeePlanAgreements()
                            .request(req)
                            .call();

                    if (res.feePlanAgreements().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listFeePlanAgreements
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListFeePlanAgreementsRequest.new(
              skip: 60,
              count: 20,
              account_id: '93c43634-5477-42a7-972d-01fa76a09e17',
            )

            res = s.fee_plans.list_fee_plan_agreements(request: req)

            unless res.fee_plan_agreements.nil?
              # handle response
            end
    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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - agreementID
                  - planID
                  - name
                  - acceptedOn
                  - status
                  - cardAcquiringModel
                  - billableFees
                  - minimumCommitment
                  - monthlyPlatformFee
                properties:
                  agreementID:
                    type: string
                    format: uuid
                  planID:
                    type: string
                    format: uuid
                  accountID:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: The name of the agreement.
                  description:
                    type: string
                    description: The description of the agreement.
                  acceptedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - active
                      - terminated
                  cardAcquiringModel:
                    type: string
                    enum:
                      - cost-plus
                      - flat-rate
                    description: Specifies the card processing pricing model
                  billableFees:
                    type: array
                    items:
                      type: object
                      required:
                        - feeModel
                        - feeCategory
                      properties:
                        billableFeeID:
                          type: string
                          format: uuid
                        billableEvent:
                          type: string
                          description: A unique code identifying a charge.
                        feeName:
                          type: string
                          description: Specifies the name of the fee that will be billed.
                        feeModel:
                          type: string
                          enum:
                            - fixed
                            - blended
                            - variable
                          description: Specifies the pricing model used for the calculation of the final fee.
                        feeCategory:
                          type: string
                          enum:
                            - ach
                            - card-acquiring
                            - card-other
                            - card-pull
                            - card-push
                            - monthly-platform
                            - network-passthrough
                            - other
                            - rtp
                        feeProperties:
                          type: object
                          properties:
                            fixedAmount:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                            variableRate:
                              type: string
                              pattern: ^[0-9]+.?[0-9]*$
                              description: |-
                                A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                                For example, 0.05% is '0.05'.
                              example: '0.05'
                            minPerTransaction:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                            maxPerTransaction:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                          description: Defines the specific parameters used for fee calculation.
                          example:
                            fixedAmount:
                              currency: USD
                              valueDecimal: '0.0195'
                            variableRate: '0.15'
                            minPerTransaction:
                              currency: USD
                              valueDecimal: '0.0195'
                            maxPerTransaction:
                              currency: USD
                              valueDecimal: '0.035'
                        feeConditions:
                          type: object
                          additionalProperties: {}
                          description: Defines the specific conditions that must be met for the fee to be applied.
                          example:
                            cardBrand:
                              - visa
                      example:
                        billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                        billableEvent: card-auth-volume
                        feeName: Card decline fee
                        feeModel: fixed
                        feeCategory: card-acquiring
                        feeProperties:
                          fixedAmount:
                            currency: USD
                            valueDecimal: '0.1'
                        feeConditions:
                          transactionType:
                            - decline
                  minimumCommitment:
                    type: object
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
                  monthlyPlatformFee:
                    type: object
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Fixed recurring amount paid in the billing period regardless of usage.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  planID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - planID
              properties:
                planID:
                  type: string
                  format: uuid
      x-codeSamples:
        - lang: typescript
          label: createFeePlanAgreements
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.createFeePlanAgreements({
                accountID: "409c6b4b-e622-40c2-9dc4-fb494e555723",
                createFeePlanAgreement: {
                  planID: "19801f96-ea27-4610-b4d1-8c6b46f37928",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createFeePlanAgreements
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createFeePlanAgreement = new Components\CreateFeePlanAgreement(
                planID: '19801f96-ea27-4610-b4d1-8c6b46f37928',
            );

            $response = $sdk->feePlans->createFeePlanAgreements(
                accountID: '409c6b4b-e622-40c2-9dc4-fb494e555723',
                createFeePlanAgreement: $createFeePlanAgreement

            );

            if ($response->feePlanAgreement !== null) {
                // handle response
            }
        - lang: python
          label: createFeePlanAgreements
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.create_fee_plan_agreements(account_id="409c6b4b-e622-40c2-9dc4-fb494e555723", plan_id="19801f96-ea27-4610-b4d1-8c6b46f37928")

                # Handle response
                print(res)
        - lang: java
          label: createFeePlanAgreements
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateFeePlanAgreement;
            import org.openapis.openapi.models.errors.FeePlanAgreementError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateFeePlanAgreementsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, FeePlanAgreementError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateFeePlanAgreementsResponse res = sdk.feePlans().createFeePlanAgreements()
                            .accountID("409c6b4b-e622-40c2-9dc4-fb494e555723")
                            .createFeePlanAgreement(CreateFeePlanAgreement.builder()
                                .planID("19801f96-ea27-4610-b4d1-8c6b46f37928")
                                .build())
                            .call();

                    if (res.feePlanAgreement().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createFeePlanAgreements
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.fee_plans.create_fee_plan_agreements(account_id: '409c6b4b-e622-40c2-9dc4-fb494e555723', create_fee_plan_agreement: Models::Components::CreateFeePlanAgreement.new(
              plan_id: '19801f96-ea27-4610-b4d1-8c6b46f37928',
            ))

            unless res.fee_plan_agreement.nil?
              # handle response
            end
  /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 
        selecting a fee plan to apply to a connected account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: planIDs
          in: query
          required: false
          description: A comma-separated list of plan IDs to filter the results by.
          schema:
            type: array
            items:
              type: string
              format: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - planID
                    - name
                    - cardAcquiringModel
                    - billableFees
                    - minimumCommitment
                    - monthlyPlatformFee
                    - createdAt
                  properties:
                    planID:
                      type: string
                      format: uuid
                    name:
                      type: string
                      description: The name of the fee plan.
                      example: Fixed Rate Merchant Plan
                    description:
                      type: string
                      description: A description of the fee plan.
                    cardAcquiringModel:
                      type: string
                      enum:
                        - cost-plus
                        - flat-rate
                      description: Specifies the card processing pricing model
                    billableFees:
                      type: array
                      items:
                        type: object
                        required:
                          - feeModel
                          - feeCategory
                        properties:
                          billableFeeID:
                            type: string
                            format: uuid
                          billableEvent:
                            type: string
                            description: A unique code identifying a charge.
                          feeName:
                            type: string
                            description: Specifies the name of the fee that will be billed.
                          feeModel:
                            type: string
                            enum:
                              - fixed
                              - blended
                              - variable
                            description: Specifies the pricing model used for the calculation of the final fee.
                          feeCategory:
                            type: string
                            enum:
                              - ach
                              - card-acquiring
                              - card-other
                              - card-pull
                              - card-push
                              - monthly-platform
                              - network-passthrough
                              - other
                              - rtp
                          feeProperties:
                            type: object
                            properties:
                              fixedAmount:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                              variableRate:
                                type: string
                                pattern: ^[0-9]+.?[0-9]*$
                                description: |-
                                  A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                                  For example, 0.05% is '0.05'.
                                example: '0.05'
                              minPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                              maxPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                            description: Defines the specific parameters used for fee calculation.
                            example:
                              fixedAmount:
                                currency: USD
                                valueDecimal: '0.0195'
                              variableRate: '0.15'
                              minPerTransaction:
                                currency: USD
                                valueDecimal: '0.0195'
                              maxPerTransaction:
                                currency: USD
                                valueDecimal: '0.035'
                          feeConditions:
                            type: object
                            additionalProperties: {}
                            description: Defines the specific conditions that must be met for the fee to be applied.
                            example:
                              cardBrand:
                                - visa
                        example:
                          billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                          billableEvent: card-auth-volume
                          feeName: Card decline fee
                          feeModel: fixed
                          feeCategory: card-acquiring
                          feeProperties:
                            fixedAmount:
                              currency: USD
                              valueDecimal: '0.1'
                          feeConditions:
                            transactionType:
                              - decline
                      description: Additional usage-based fees for this plan.
                    minimumCommitment:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
                    monthlyPlatformFee:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Fixed recurring amount paid in the billing period regardless of usage.
                    createdAt:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      x-codeSamples:
        - lang: typescript
          label: listFeePlans
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.listFeePlans({
                accountID: "b3d59179-f74e-4ee8-b123-33220b3c7d4b",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listFeePlans
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->feePlans->listFeePlans(
                accountID: 'b3d59179-f74e-4ee8-b123-33220b3c7d4b'
            );

            if ($response->feePlans !== null) {
                // handle response
            }
        - lang: python
          label: listFeePlans
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.list_fee_plans(account_id="b3d59179-f74e-4ee8-b123-33220b3c7d4b")

                # Handle response
                print(res)
        - lang: java
          label: listFeePlans
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListFeePlansResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListFeePlansResponse res = sdk.feePlans().listFeePlans()
                            .accountID("b3d59179-f74e-4ee8-b123-33220b3c7d4b")
                            .call();

                    if (res.feePlans().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listFeePlans
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.fee_plans.list_fee_plans(account_id: 'b3d59179-f74e-4ee8-b123-33220b3c7d4b')

            unless res.fee_plans.nil?
              # handle response
            end
  /accounts/{accountID}/fees:
    get:
      operationId: retrieveFees
      description: |-
        Retrieve fees associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: transferID
          in: query
          required: false
          description: Optional transfer ID to filter the results by.
          schema:
            type: string
            format: uuid
          explode: false
        - name: disputeID
          in: query
          required: false
          description: Optional dispute ID to filter the results by.
          schema:
            type: string
            format: uuid
          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
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    feeID:
                      type: string
                      format: uuid
                    accountID:
                      type: string
                      format: uuid
                    walletID:
                      type: string
                      format: uuid
                    createdOn:
                      type: string
                      format: date-time
                    feeName:
                      type: string
                    amount:
                      type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                    generatedBy:
                      oneOf:
                        - type: object
                          properties:
                            transferID:
                              type: string
                              format: uuid
                          title: Transfer ID
                        - type: object
                          properties:
                            CardID:
                              type: string
                              format: uuid
                          title: Card ID
                        - type: object
                          properties:
                            DisputeID:
                              type: string
                              format: uuid
                          title: Dispute ID
                        - type: object
                          properties:
                            AccountID:
                              type: string
                              format: uuid
                          title: Account ID
                        - type: object
                          properties:
                            BankAccountID:
                              type: string
                              format: uuid
                          title: Bank account ID
                      description: The entity that generated the fee.
                  description: A fee incurred by a user.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      x-codeSamples:
        - lang: typescript
          label: retrieveFees
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.retrieveFees({
                accountID: "89daf02d-b6b3-4fbf-b20d-5bf967324682",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: retrieveFees
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\RetrieveFeesRequest(
                accountID: '89daf02d-b6b3-4fbf-b20d-5bf967324682',
                skip: 60,
                count: 20,
            );

            $response = $sdk->feePlans->retrieveFees(
                request: $request
            );

            if ($response->incurredFees !== null) {
                // handle response
            }
        - lang: python
          label: retrieveFees
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.retrieve_fees(account_id="89daf02d-b6b3-4fbf-b20d-5bf967324682", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: retrieveFees
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.RetrieveFeesRequest;
            import org.openapis.openapi.models.operations.RetrieveFeesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RetrieveFeesRequest req = RetrieveFeesRequest.builder()
                            .accountID("89daf02d-b6b3-4fbf-b20d-5bf967324682")
                            .skip(60L)
                            .count(20L)
                            .build();

                    RetrieveFeesResponse res = sdk.feePlans().retrieveFees()
                            .request(req)
                            .call();

                    if (res.incurredFees().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: retrieveFees
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::RetrieveFeesRequest.new(
              account_id: '89daf02d-b6b3-4fbf-b20d-5bf967324682',
              skip: 60,
              count: 20,
            )

            res = s.fee_plans.retrieve_fees(request: req)

            unless res.incurred_fees.nil?
              # handle response
            end
  /accounts/{accountID}/fees/.fetch:
    post:
      operationId: listFeesFetch
      description: |-
        List fees associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    feeID:
                      type: string
                      format: uuid
                    accountID:
                      type: string
                      format: uuid
                    walletID:
                      type: string
                      format: uuid
                    createdOn:
                      type: string
                      format: date-time
                    feeName:
                      type: string
                    amount:
                      type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                    generatedBy:
                      oneOf:
                        - type: object
                          properties:
                            transferID:
                              type: string
                              format: uuid
                          title: Transfer ID
                        - type: object
                          properties:
                            CardID:
                              type: string
                              format: uuid
                          title: Card ID
                        - type: object
                          properties:
                            DisputeID:
                              type: string
                              format: uuid
                          title: Dispute ID
                        - type: object
                          properties:
                            AccountID:
                              type: string
                              format: uuid
                          title: Account ID
                        - type: object
                          properties:
                            BankAccountID:
                              type: string
                              format: uuid
                          title: Bank account ID
                      description: The entity that generated the fee.
                  description: A fee incurred by a user.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                feeIDs:
                  type: array
                  items:
                    type: string
                    format: uuid
              description: Array of fee IDs to fetch.
  /accounts/{accountID}/files:
    post:
      operationId: uploadFile
      description: |-
        Upload a file and link it to the specified Moov account. 

        The maximum file size is 20MB. Each account is allowed a maximum of 50 files. Acceptable file types include csv, jpg, pdf, 
        and png. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/files.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - fileID
                  - fileName
                  - accountID
                  - filePurpose
                  - fileStatus
                  - metadata
                  - fileSizeBytes
                  - createdOn
                  - updatedOn
                properties:
                  fileID:
                    type: string
                    format: uuid
                  fileName:
                    type: string
                    maxLength: 64
                    example: logo.png
                  accountID:
                    type: string
                    format: uuid
                  filePurpose:
                    type: string
                    enum:
                      - business_verification
                      - representative_verification
                      - individual_verification
                      - merchant_underwriting
                      - account_requirement
                      - identity_verification
                    description: The file's purpose.
                    example: representative_verification
                  fileStatus:
                    type: string
                    enum:
                      - pending
                      - approved
                      - rejected
                    description: The file's status.
                    example: pending
                  metadata:
                    type: string
                    format: json
                    example: '{"error_code": "document-name-mismatch", "requirement_id": "document.individual.verification", "representative_id": "c63ab175-251d-497e-a267-7346d087e180", "comment": "testing comment"'
                  decisionReason:
                    type: string
                    example: not correct file
                  fileSizeBytes:
                    type: integer
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                description: Describes a file linked to a Moov 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  file:
                    type: string
                  FileName:
                    type: string
                  filePurpose:
                    type: string
                  metadata:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Files
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - filePurpose
              properties:
                file:
                  type: string
                  format: binary
                  description: The file to be added. Valid types are `csv`, `png`, `jpeg`, `pdf`.
                filePurpose:
                  type: string
                  enum:
                    - business_verification
                    - representative_verification
                    - individual_verification
                    - merchant_underwriting
                    - account_requirement
                    - identity_verification
                  description: The file's purpose.
                  example: representative_verification
                metadata:
                  type: string
                  format: json
                  description: |-
                    Additional metadata to be stored with the file, formatted as a JSON string.

                    Valid keys are `representative_id`, `comment`, `requirement_id`, `error_code`.
                  example: '{"requirement_id": "document.individual.verification"}'
              description: Request to upload a file for an account.
      x-speakeasy-name-override: upload
      x-codeSamples:
        - lang: typescript
          label: uploadFile
          source: |-
            import { openAsBlob } from "node:fs";
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.files.upload({
                accountID: "221c30bd-2551-4ae4-9a14-07bf6599b728",
                fileUploadRequestMultiPart: {
                  file: await openAsBlob("example.file"),
                  filePurpose: "representative_verification",
                  metadata: "{\"requirement_id\": \"document.individual.verification\"}",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: uploadFile
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $fileUploadRequestMultiPart = new Components\FileUploadRequestMultiPart(
                file: new Components\FileUploadRequestMultiPartFile(
                    fileName: 'example.file',
                    content: file_get_contents('example.file');,
                ),
                filePurpose: Components\FilePurpose::RepresentativeVerification,
                metadata: '{"requirement_id": "document.individual.verification"}',
            );

            $response = $sdk->files->upload(
                accountID: '221c30bd-2551-4ae4-9a14-07bf6599b728',
                fileUploadRequestMultiPart: $fileUploadRequestMultiPart

            );

            if ($response->fileDetails !== null) {
                // handle response
            }
        - lang: python
          label: uploadFile
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.files.upload(account_id="221c30bd-2551-4ae4-9a14-07bf6599b728", file={
                    "file_name": "example.file",
                    "content": open("example.file", "rb"),
                }, file_purpose="representative_verification", metadata="{\"requirement_id\": \"document.individual.verification\"}")

                # Handle response
                print(res)
        - lang: java
          label: uploadFile
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.nio.file.Paths;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.FileValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UploadFileResponse;
            import org.openapis.openapi.utils.Blob;

            public class Application {

                public static void main(String[] args) throws GenericError, FileValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UploadFileResponse res = sdk.files().upload()
                            .accountID("221c30bd-2551-4ae4-9a14-07bf6599b728")
                            .fileUploadRequestMultiPart(FileUploadRequestMultiPart.builder()
                                .file(FileUploadRequestMultiPartFile.builder()
                                    .fileName("example.file")
                                    .content(Blob.from(Paths.get("example.file")))
                                    .build())
                                .filePurpose(FilePurpose.REPRESENTATIVE_VERIFICATION)
                                .metadata("{\"requirement_id\": \"document.individual.verification\"}")
                                .build())
                            .call();

                }
            }
        - lang: ruby
          label: uploadFile
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.files.upload(account_id: '221c30bd-2551-4ae4-9a14-07bf6599b728', file_upload_request_multi_part: Models::Components::FileUploadRequestMultiPart.new(
              file: Models::Components::FileUploadRequestMultiPartFile.new(
                file_name: 'example.file',
                content: File.binread("example.file"),
              ),
              file_purpose: Models::Components::FilePurpose::REPRESENTATIVE_VERIFICATION,
              metadata: '{"requirement_id": "document.individual.verification"}',
            ))

            unless res.file_details.nil?
              # handle response
            end
    get:
      operationId: listFiles
      description: |-
        List all the files associated with a particular Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/files.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - fileID
                    - fileName
                    - accountID
                    - filePurpose
                    - fileStatus
                    - metadata
                    - fileSizeBytes
                    - createdOn
                    - updatedOn
                  properties:
                    fileID:
                      type: string
                      format: uuid
                    fileName:
                      type: string
                      maxLength: 64
                      example: logo.png
                    accountID:
                      type: string
                      format: uuid
                    filePurpose:
                      type: string
                      enum:
                        - business_verification
                        - representative_verification
                        - individual_verification
                        - merchant_underwriting
                        - account_requirement
                        - identity_verification
                      description: The file's purpose.
                      example: representative_verification
                    fileStatus:
                      type: string
                      enum:
                        - pending
                        - approved
                        - rejected
                      description: The file's status.
                      example: pending
                    metadata:
                      type: string
                      format: json
                      example: '{"error_code": "document-name-mismatch", "requirement_id": "document.individual.verification", "representative_id": "c63ab175-251d-497e-a267-7346d087e180", "comment": "testing comment"'
                    decisionReason:
                      type: string
                      example: not correct file
                    fileSizeBytes:
                      type: integer
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                  description: Describes a file linked to a Moov 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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Files
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listFiles
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.files.list({
                accountID: "d1133bf2-4853-4436-9a03-23739895ab98",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listFiles
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->files->list(
                accountID: 'd1133bf2-4853-4436-9a03-23739895ab98'
            );

            if ($response->fileDetails !== null) {
                // handle response
            }
        - lang: python
          label: listFiles
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.files.list(account_id="d1133bf2-4853-4436-9a03-23739895ab98")

                # Handle response
                print(res)
        - lang: java
          label: listFiles
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListFilesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListFilesResponse res = sdk.files().list()
                            .accountID("d1133bf2-4853-4436-9a03-23739895ab98")
                            .call();

                    if (res.fileDetails().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listFiles
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.files.list(account_id: 'd1133bf2-4853-4436-9a03-23739895ab98')

            unless res.file_details.nil?
              # handle response
            end
  /accounts/{accountID}/files/{fileID}:
    get:
      operationId: getFileDetails
      description: |-
        Retrieve file details associated with a specific Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/files.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: fileID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - fileID
                  - fileName
                  - accountID
                  - filePurpose
                  - fileStatus
                  - metadata
                  - fileSizeBytes
                  - createdOn
                  - updatedOn
                properties:
                  fileID:
                    type: string
                    format: uuid
                  fileName:
                    type: string
                    maxLength: 64
                    example: logo.png
                  accountID:
                    type: string
                    format: uuid
                  filePurpose:
                    type: string
                    enum:
                      - business_verification
                      - representative_verification
                      - individual_verification
                      - merchant_underwriting
                      - account_requirement
                      - identity_verification
                    description: The file's purpose.
                    example: representative_verification
                  fileStatus:
                    type: string
                    enum:
                      - pending
                      - approved
                      - rejected
                    description: The file's status.
                    example: pending
                  metadata:
                    type: string
                    format: json
                    example: '{"error_code": "document-name-mismatch", "requirement_id": "document.individual.verification", "representative_id": "c63ab175-251d-497e-a267-7346d087e180", "comment": "testing comment"'
                  decisionReason:
                    type: string
                    example: not correct file
                  fileSizeBytes:
                    type: integer
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                description: Describes a file linked to a Moov 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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Files
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getFileDetails
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.files.get({
                accountID: "7f888113-d35a-4536-b9bc-c55076736ab6",
                fileID: "af170db9-0d17-4a9f-ade6-5dd2f1b3412d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getFileDetails
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->files->get(
                accountID: '7f888113-d35a-4536-b9bc-c55076736ab6',
                fileID: 'af170db9-0d17-4a9f-ade6-5dd2f1b3412d'

            );

            if ($response->fileDetails !== null) {
                // handle response
            }
        - lang: python
          label: getFileDetails
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.files.get(account_id="7f888113-d35a-4536-b9bc-c55076736ab6", file_id="af170db9-0d17-4a9f-ade6-5dd2f1b3412d")

                # Handle response
                print(res)
        - lang: java
          label: getFileDetails
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetFileDetailsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetFileDetailsResponse res = sdk.files().get()
                            .accountID("7f888113-d35a-4536-b9bc-c55076736ab6")
                            .fileID("af170db9-0d17-4a9f-ade6-5dd2f1b3412d")
                            .call();

                    if (res.fileDetails().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getFileDetails
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.files.get(account_id: '7f888113-d35a-4536-b9bc-c55076736ab6', file_id: 'af170db9-0d17-4a9f-ade6-5dd2f1b3412d')

            unless res.file_details.nil?
              # handle response
            end
  /accounts/{accountID}/images:
    get:
      operationId: listImageMetadata
      description: List metadata for all images in the specified account.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - imageID
                    - link
                    - createdOn
                    - updatedOn
                  properties:
                    imageID:
                      type: string
                      format: uuid
                    altText:
                      type: string
                      maxLength: 125
                      description: Alternative text for the image.
                    link:
                      type: string
                      format: uri
                      description: |-
                        A public URL to access the image. An optional `size={width}x{height}` 
                        query parameter can be provided to resize the image.
                      example: https://api.moov.io/images/qJRAaAwwF5hmfeAFdHjIb
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                  description: Metadata about an uploaded image.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listImageMetadata
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.images.list({
                accountID: "3a4ed2d9-03e1-4b0e-b45f-2a9ca72f8adb",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listImageMetadata
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->images->list(
                accountID: '3a4ed2d9-03e1-4b0e-b45f-2a9ca72f8adb'
            );

            if ($response->imageMetadata !== null) {
                // handle response
            }
        - lang: python
          label: listImageMetadata
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.images.list(account_id="3a4ed2d9-03e1-4b0e-b45f-2a9ca72f8adb")

                # Handle response
                print(res)
        - lang: java
          label: listImageMetadata
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListImageMetadataResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListImageMetadataResponse res = sdk.images().list()
                            .accountID("3a4ed2d9-03e1-4b0e-b45f-2a9ca72f8adb")
                            .call();

                    if (res.imageMetadata().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listImageMetadata
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.images.list(account_id: '3a4ed2d9-03e1-4b0e-b45f-2a9ca72f8adb')

            unless res.image_metadata.nil?
              # handle response
            end
    post:
      operationId: uploadImage
      description: |2-
          Upload a new PNG, JPEG, or WebP image with optional metadata. 
          Duplicate images, and requests larger than 16MB will be rejected.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - imageID
                  - link
                  - createdOn
                  - updatedOn
                properties:
                  imageID:
                    type: string
                    format: uuid
                  altText:
                    type: string
                    maxLength: 125
                    description: Alternative text for the image.
                  link:
                    type: string
                    format: uri
                    description: |-
                      A public URL to access the image. An optional `size={width}x{height}` 
                      query parameter can be provided to resize the image.
                    example: https://api.moov.io/images/qJRAaAwwF5hmfeAFdHjIb
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                description: Metadata about an uploaded image.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  image:
                    type: string
                  metadata:
                    type: object
                    properties:
                      altText:
                        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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image:
                  type: string
                  format: binary
                metadata:
                  type: object
                  properties:
                    altText:
                      type: string
                      maxLength: 125
                      description: Alternative text for the image.
                  description: Request body for creating or updating image metadata.
              required:
                - image
            encoding:
              image:
                contentType: image/webp, image/png, image/jpeg
              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:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: imageID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - imageID
                  - link
                  - createdOn
                  - updatedOn
                properties:
                  imageID:
                    type: string
                    format: uuid
                  altText:
                    type: string
                    maxLength: 125
                    description: Alternative text for the image.
                  link:
                    type: string
                    format: uri
                    description: |-
                      A public URL to access the image. An optional `size={width}x{height}` 
                      query parameter can be provided to resize the image.
                    example: https://api.moov.io/images/qJRAaAwwF5hmfeAFdHjIb
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                description: Metadata about an uploaded image.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      x-speakeasy-name-override: getMetadata
      x-codeSamples:
        - lang: typescript
          label: getImageMetadata
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.images.getMetadata({
                accountID: "6cf66a43-31ce-4d27-8dd4-130fa57f0a6f",
                imageID: "7cec5bd3-6340-4de4-a923-bf6ec0f7e921",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getImageMetadata
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->images->getMetadata(
                accountID: '6cf66a43-31ce-4d27-8dd4-130fa57f0a6f',
                imageID: '7cec5bd3-6340-4de4-a923-bf6ec0f7e921'

            );

            if ($response->imageMetadata !== null) {
                // handle response
            }
        - lang: python
          label: getImageMetadata
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.images.get_metadata(account_id="6cf66a43-31ce-4d27-8dd4-130fa57f0a6f", image_id="7cec5bd3-6340-4de4-a923-bf6ec0f7e921")

                # Handle response
                print(res)
        - lang: java
          label: getImageMetadata
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetImageMetadataResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetImageMetadataResponse res = sdk.images().getMetadata()
                            .accountID("6cf66a43-31ce-4d27-8dd4-130fa57f0a6f")
                            .imageID("7cec5bd3-6340-4de4-a923-bf6ec0f7e921")
                            .call();

                    if (res.imageMetadata().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getImageMetadata
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.images.get_metadata(account_id: '6cf66a43-31ce-4d27-8dd4-130fa57f0a6f', image_id: '7cec5bd3-6340-4de4-a923-bf6ec0f7e921')

            unless res.image_metadata.nil?
              # handle response
            end
    patch:
      operationId: updateImage
      description: Update an existing image and/or its metadata.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: imageID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - imageID
                  - link
                  - createdOn
                  - updatedOn
                properties:
                  imageID:
                    type: string
                    format: uuid
                  altText:
                    type: string
                    maxLength: 125
                    description: Alternative text for the image.
                  link:
                    type: string
                    format: uri
                    description: |-
                      A public URL to access the image. An optional `size={width}x{height}` 
                      query parameter can be provided to resize the image.
                    example: https://api.moov.io/images/qJRAaAwwF5hmfeAFdHjIb
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                description: Metadata about an uploaded image.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  image:
                    type: string
                  metadata:
                    type: object
                    properties:
                      altText:
                        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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image:
                  type: string
                  format: binary
                metadata:
                  type: object
                  properties:
                    altText:
                      type: string
                      maxLength: 125
                      description: Alternative text for the image.
                  description: Request body for creating or updating image metadata.
              required: []
            encoding:
              image:
                contentType: image/webp, image/png, image/jpeg
              metadata:
                contentType: application/json
      x-speakeasy-name-override: update
    delete:
      operationId: deleteImage
      description: Permanently delete an image by its ID.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: imageID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      x-speakeasy-name-override: delete
      x-codeSamples:
        - lang: typescript
          label: deleteImage
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.images.delete({
                accountID: "866c32ce-2536-4b21-8e12-f8c474fb2a9b",
                imageID: "ca048253-31d2-4bfb-9077-1f07a2a09f26",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: deleteImage
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->images->delete(
                accountID: '866c32ce-2536-4b21-8e12-f8c474fb2a9b',
                imageID: 'ca048253-31d2-4bfb-9077-1f07a2a09f26'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: deleteImage
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.images.delete(account_id="866c32ce-2536-4b21-8e12-f8c474fb2a9b", image_id="ca048253-31d2-4bfb-9077-1f07a2a09f26")

                # Handle response
                print(res)
        - lang: java
          label: deleteImage
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DeleteImageResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DeleteImageResponse res = sdk.images().delete()
                            .accountID("866c32ce-2536-4b21-8e12-f8c474fb2a9b")
                            .imageID("ca048253-31d2-4bfb-9077-1f07a2a09f26")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: deleteImage
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.images.delete(account_id: '866c32ce-2536-4b21-8e12-f8c474fb2a9b', image_id: 'ca048253-31d2-4bfb-9077-1f07a2a09f26')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/merchant-agreement:
    get:
      operationId: getMerchantProcessingAgreement
      description: |-
        Retrieve a merchant account's processing agreement.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-codeSamples:
        - lang: typescript
          label: getMerchantProcessingAgreement
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.getMerchantProcessingAgreement({
                accountID: "6180d9b9-2377-4190-8530-70a99d31a578",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getMerchantProcessingAgreement
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accounts->getMerchantProcessingAgreement(
                accountID: '6180d9b9-2377-4190-8530-70a99d31a578'
            );

            if ($response->bytes !== null) {
                // handle response
            }
        - lang: python
          label: getMerchantProcessingAgreement
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.get_merchant_processing_agreement(account_id="6180d9b9-2377-4190-8530-70a99d31a578")

                # Handle response
                print(res)
        - lang: java
          label: getMerchantProcessingAgreement
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetMerchantProcessingAgreementResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetMerchantProcessingAgreementResponse res = sdk.accounts().getMerchantProcessingAgreement()
                            .accountID("6180d9b9-2377-4190-8530-70a99d31a578")
                            .call();

                    if (res.responseStream().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getMerchantProcessingAgreement
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.get_merchant_processing_agreement(account_id: '6180d9b9-2377-4190-8530-70a99d31a578')

            unless res.bytes.nil?
              # handle response
            end
  /accounts/{accountID}/partner-pricing:
    get:
      operationId: listPartnerPricing
      description: |-
        List all partner pricing plans available for use by an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: planIDs
          in: query
          required: false
          description: A comma-separated list of plan IDs to filter the results by.
          schema:
            type: array
            items:
              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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - planID
                    - name
                    - revenueShare
                    - cardAcquiringModel
                    - billableFees
                    - minimumCommitment
                    - monthlyPlatformFee
                    - createdAt
                  properties:
                    planID:
                      type: string
                      format: uuid
                    name:
                      type: string
                      description: The name of the fee plan.
                      example: Fixed Rate Merchant Plan
                    description:
                      type: string
                      description: A description of the fee plan.
                    revenueShare:
                      type: integer
                      description: The integer percentage value of the revenue split for partner.
                      example: 10
                    cardAcquiringModel:
                      type: string
                      enum:
                        - cost-plus
                        - flat-rate
                      description: Specifies the card processing pricing model
                    billableFees:
                      type: array
                      items:
                        type: object
                        required:
                          - feeModel
                          - feeCategory
                        properties:
                          billableFeeID:
                            type: string
                            format: uuid
                          billableEvent:
                            type: string
                            description: A unique code identifying a charge.
                          feeName:
                            type: string
                            description: Specifies the name of the fee that will be billed.
                          feeModel:
                            type: string
                            enum:
                              - fixed
                              - blended
                              - variable
                            description: Specifies the pricing model used for the calculation of the final fee.
                          feeCategory:
                            type: string
                            enum:
                              - ach
                              - card-acquiring
                              - card-other
                              - card-pull
                              - card-push
                              - monthly-platform
                              - network-passthrough
                              - other
                              - rtp
                          feeProperties:
                            type: object
                            properties:
                              fixedAmount:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                              variableRate:
                                type: string
                                pattern: ^[0-9]+.?[0-9]*$
                                description: |-
                                  A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                                  For example, 0.05% is '0.05'.
                                example: '0.05'
                              minPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                              maxPerTransaction:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                            description: Defines the specific parameters used for fee calculation.
                            example:
                              fixedAmount:
                                currency: USD
                                valueDecimal: '0.0195'
                              variableRate: '0.15'
                              minPerTransaction:
                                currency: USD
                                valueDecimal: '0.0195'
                              maxPerTransaction:
                                currency: USD
                                valueDecimal: '0.035'
                          feeConditions:
                            type: object
                            additionalProperties: {}
                            description: Defines the specific conditions that must be met for the fee to be applied.
                            example:
                              cardBrand:
                                - visa
                        example:
                          billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                          billableEvent: card-auth-volume
                          feeName: Card decline fee
                          feeModel: fixed
                          feeCategory: card-acquiring
                          feeProperties:
                            fixedAmount:
                              currency: USD
                              valueDecimal: '0.1'
                          feeConditions:
                            transactionType:
                              - decline
                    minimumCommitment:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
                    monthlyPlatformFee:
                      type: object
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Fixed recurring amount paid in the billing period regardless of usage.
                    createdAt:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      x-codeSamples:
        - lang: typescript
          label: listPartnerPricing
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.listPartnerPricing({
                accountID: "600637f9-c38a-473f-b909-0d5ac537b8a5",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listPartnerPricing
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->feePlans->listPartnerPricing(
                accountID: '600637f9-c38a-473f-b909-0d5ac537b8a5'
            );

            if ($response->partnerPricings !== null) {
                // handle response
            }
        - lang: python
          label: listPartnerPricing
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.list_partner_pricing(account_id="600637f9-c38a-473f-b909-0d5ac537b8a5")

                # Handle response
                print(res)
        - lang: java
          label: listPartnerPricing
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListPartnerPricingResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListPartnerPricingResponse res = sdk.feePlans().listPartnerPricing()
                            .accountID("600637f9-c38a-473f-b909-0d5ac537b8a5")
                            .call();

                    if (res.partnerPricings().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listPartnerPricing
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.fee_plans.list_partner_pricing(account_id: '600637f9-c38a-473f-b909-0d5ac537b8a5')

            unless res.partner_pricings.nil?
              # handle response
            end
  /accounts/{accountID}/partner-pricing-agreements:
    get:
      operationId: listPartnerPricingAgreements
      description: |-
        List all partner pricing agreements associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - 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:
              type: string
              enum:
                - active
                - terminated
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - revenueShare
                  properties:
                    revenueShare:
                      type: integer
                      description: The integer percentage value of the revenue split for partner.
                      example: 10
                  allOf:
                    - type: object
                      required:
                        - agreementID
                        - planID
                        - name
                        - acceptedOn
                        - status
                        - cardAcquiringModel
                        - billableFees
                        - minimumCommitment
                        - monthlyPlatformFee
                      properties:
                        agreementID:
                          type: string
                          format: uuid
                        planID:
                          type: string
                          format: uuid
                        accountID:
                          type: string
                          format: uuid
                        name:
                          type: string
                          description: The name of the agreement.
                        description:
                          type: string
                          description: The description of the agreement.
                        acceptedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - active
                            - terminated
                        cardAcquiringModel:
                          type: string
                          enum:
                            - cost-plus
                            - flat-rate
                          description: Specifies the card processing pricing model
                        billableFees:
                          type: array
                          items:
                            type: object
                            required:
                              - feeModel
                              - feeCategory
                            properties:
                              billableFeeID:
                                type: string
                                format: uuid
                              billableEvent:
                                type: string
                                description: A unique code identifying a charge.
                              feeName:
                                type: string
                                description: Specifies the name of the fee that will be billed.
                              feeModel:
                                type: string
                                enum:
                                  - fixed
                                  - blended
                                  - variable
                                description: Specifies the pricing model used for the calculation of the final fee.
                              feeCategory:
                                type: string
                                enum:
                                  - ach
                                  - card-acquiring
                                  - card-other
                                  - card-pull
                                  - card-push
                                  - monthly-platform
                                  - network-passthrough
                                  - other
                                  - rtp
                              feeProperties:
                                type: object
                                properties:
                                  fixedAmount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                                  variableRate:
                                    type: string
                                    pattern: ^[0-9]+.?[0-9]*$
                                    description: |-
                                      A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                                      For example, 0.05% is '0.05'.
                                    example: '0.05'
                                  minPerTransaction:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                                  maxPerTransaction:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                                description: Defines the specific parameters used for fee calculation.
                                example:
                                  fixedAmount:
                                    currency: USD
                                    valueDecimal: '0.0195'
                                  variableRate: '0.15'
                                  minPerTransaction:
                                    currency: USD
                                    valueDecimal: '0.0195'
                                  maxPerTransaction:
                                    currency: USD
                                    valueDecimal: '0.035'
                              feeConditions:
                                type: object
                                additionalProperties: {}
                                description: Defines the specific conditions that must be met for the fee to be applied.
                                example:
                                  cardBrand:
                                    - visa
                            example:
                              billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                              billableEvent: card-auth-volume
                              feeName: Card decline fee
                              feeModel: fixed
                              feeCategory: card-acquiring
                              feeProperties:
                                fixedAmount:
                                  currency: USD
                                  valueDecimal: '0.1'
                              feeConditions:
                                transactionType:
                                  - decline
                        minimumCommitment:
                          type: object
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
                        monthlyPlatformFee:
                          type: object
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: Fixed recurring amount paid in the billing period regardless of usage.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Fee plans
      x-codeSamples:
        - lang: typescript
          label: listPartnerPricingAgreements
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.feePlans.listPartnerPricingAgreements({
                skip: 60,
                count: 20,
                accountID: "123bfe5e-2288-4146-9d8a-4c07264c3758",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listPartnerPricingAgreements
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListPartnerPricingAgreementsRequest(
                skip: 60,
                count: 20,
                accountID: '123bfe5e-2288-4146-9d8a-4c07264c3758',
            );

            $response = $sdk->feePlans->listPartnerPricingAgreements(
                request: $request
            );

            if ($response->partnerPricingAgreements !== null) {
                // handle response
            }
        - lang: python
          label: listPartnerPricingAgreements
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.fee_plans.list_partner_pricing_agreements(account_id="123bfe5e-2288-4146-9d8a-4c07264c3758", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listPartnerPricingAgreements
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListPartnerPricingAgreementsRequest;
            import org.openapis.openapi.models.operations.ListPartnerPricingAgreementsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListPartnerPricingAgreementsRequest req = ListPartnerPricingAgreementsRequest.builder()
                            .accountID("123bfe5e-2288-4146-9d8a-4c07264c3758")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListPartnerPricingAgreementsResponse res = sdk.feePlans().listPartnerPricingAgreements()
                            .request(req)
                            .call();

                    if (res.partnerPricingAgreements().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listPartnerPricingAgreements
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListPartnerPricingAgreementsRequest.new(
              skip: 60,
              count: 20,
              account_id: '123bfe5e-2288-4146-9d8a-4c07264c3758',
            )

            res = s.fee_plans.list_partner_pricing_agreements(request: req)

            unless res.partner_pricing_agreements.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - mode
                  - status
                  - partnerAccountID
                  - merchantAccountID
                  - merchantPaymentMethodID
                  - link
                  - amount
                  - uses
                  - display
                  - customer
                  - createdOn
                  - updatedOn
                properties:
                  code:
                    type: string
                    description: Unique code identifying this payment link.
                    example: uc7ZYKrMhi
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  status:
                    type: string
                    enum:
                      - active
                      - used
                      - disabled
                      - expired
                  partnerAccountID:
                    type: string
                    format: uuid
                    description: The partner's Moov account ID.
                  merchantAccountID:
                    type: string
                    format: uuid
                    description: The merchant's Moov account ID.
                  merchantPaymentMethodID:
                    type: string
                    format: uuid
                    description: The merchant's preferred payment method ID. Must be a wallet payment method.
                  link:
                    type: string
                    format: uri
                    description: Link to the payment landing page for this payment link.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  uses:
                    type: integer
                    format: int64
                    description: The number of times this payment link has been used.
                  maxUses:
                    type: integer
                    format: int64
                    description: |-
                      An optional limit on the number of times this payment link can be used. 

                      **For payouts, `maxUses` is always 1.**
                  lastUsedOn:
                    type: string
                    format: date-time
                    description: The timestamp when this payment link was last used.
                  expiresOn:
                    type: string
                    format: date-time
                    description: An optional expiration date for this payment link.
                  display:
                    type: object
                    required:
                      - title
                      - description
                      - callToAction
                    properties:
                      title:
                        type: string
                        description: The payment page title displayed to the user.
                      description:
                        type: string
                        description: A payment description displayed to the user.
                      callToAction:
                        type: string
                        enum:
                          - pay
                          - book
                          - subscribe
                          - donate
                          - confirm
                          - auto
                        description: |-
                          The text to be displayed on web form's submit button.

                          If set to "auto" the UI will automatically select between 
                          "pay" and "confirm" for payments and payouts respectively.
                    description: Customizable display options for a payment link.
                  customer:
                    type: object
                    properties:
                      requireAddress:
                        type: boolean
                        description: If true, a billing address is required when completing the payment form.
                      requirePhone:
                        type: boolean
                        description: If true, a phone number is required when completing the payment form.
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
                        description: Optional free-form metadata for the Moov account that will represent this customer.
                  payment:
                    type: object
                    required:
                      - allowedMethods
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - apple-pay
                            - card-payment
                            - ach-debit-collect
                          description: Payment methods allowed for collecting a payment.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                        description: Options for payment links used to collect a card payment.
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                        description: Options for payment links used to collect an ACH payment.
                    description: Options for payment links used to collect payment.
                  payout:
                    type: object
                    required:
                      - allowedMethods
                      - recipient
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - push-to-card
                            - rtp-credit
                            - ach-credit-same-day
                            - ach-credit-standard
                          description: Payment methods allowed for disbursing funds.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      recipient:
                        type: object
                        properties:
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                        description: |-
                          Specify the intended recipient of the payout.
                          Either `email` or `phone` must be specified, but not both.

                          This information will be used to authenticate the end user when they follow the payment link.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                example:
                  code: 3QLHtONjd5
                  mode: sandbox
                  status: active
                  partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
                  merchantAccountID: 34233b72-780c-4e0e-8b08-cbbe1bc878f8
                  merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
                  link: https://moov.money/3QLHtONjd5
                  amount:
                    currency: USD
                    value: 10000
                  uses: 0
                  display:
                    title: Example Payment Link
                    description: This is an example payment link.
                    callToAction: pay
                  customer:
                    requirePhone: true
                  payment:
                    allowedMethods:
                      - card-payment
                      - ach-debit-collect
                  updatedOn: '2025-01-09T17:09:13.33Z'
                  createdOn: '2025-01-09T17:09:13.33Z'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  partnerAccountID:
                    type: string
                  merchantPaymentMethodID:
                    type: string
                  amount:
                    type: object
                    properties:
                      currency:
                        type: string
                      value:
                        type: string
                  maxUses:
                    type: string
                  expiresOn:
                    type: string
                  display:
                    type: object
                    properties:
                      title:
                        type: string
                      description:
                        type: string
                      callToAction:
                        type: string
                  payment:
                    type: object
                    properties:
                      allowedMethods:
                        type: string
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                          originatingCompanyName:
                            type: string
                  payout:
                    type: object
                    properties:
                      allowedMethods:
                        type: string
                      recipient:
                        type: object
                        properties:
                          email:
                            type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - partnerAccountID
                - merchantPaymentMethodID
                - amount
                - display
              properties:
                partnerAccountID:
                  type: string
                  format: uuid
                  description: The partner's Moov account ID.
                merchantPaymentMethodID:
                  type: string
                  format: uuid
                  description: The merchant's preferred payment method ID. Must be a wallet payment method.
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                maxUses:
                  type: integer
                  format: int64
                  description: |-
                    An optional limit on the number of times this payment link can be used. 

                    **For payouts, `maxUses` is always 1.**
                expiresOn:
                  type: string
                  format: date-time
                  description: An optional expiration date for this payment link.
                display:
                  type: object
                  required:
                    - title
                    - description
                    - callToAction
                  properties:
                    title:
                      type: string
                      description: The payment page title displayed to the user.
                    description:
                      type: string
                      description: A payment description displayed to the user.
                    callToAction:
                      type: string
                      enum:
                        - pay
                        - book
                        - subscribe
                        - donate
                        - confirm
                        - auto
                      description: |-
                        The text to be displayed on web form's submit button.

                        If set to "auto" the UI will automatically select between 
                        "pay" and "confirm" for payments and payouts respectively.
                  description: Customizable display options for a payment link.
                customer:
                  type: object
                  properties:
                    requireAddress:
                      type: boolean
                      description: If true, a billing address is required when completing the payment form.
                    requirePhone:
                      type: boolean
                      description: If true, a phone number is required when completing the payment form.
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Optional free-form metadata for the Moov account that will represent this customer.
                payment:
                  type: object
                  required:
                    - allowedMethods
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                        enum:
                          - apple-pay
                          - card-payment
                          - ach-debit-collect
                        description: Payment methods allowed for collecting a payment.
                      minItems: 1
                      description: A list of payment methods that should be supported for this payment link.
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                      description: Options for payment links used to collect a card payment.
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                      description: Options for payment links used to collect an ACH payment.
                  description: Options for payment links used to collect payment.
                payout:
                  type: object
                  required:
                    - allowedMethods
                    - recipient
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                        enum:
                          - push-to-card
                          - rtp-credit
                          - ach-credit-same-day
                          - ach-credit-standard
                        description: Payment methods allowed for disbursing funds.
                      minItems: 1
                      description: A list of payment methods that should be supported for this payment link.
                    recipient:
                      type: object
                      properties:
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                      description: |-
                        Specify the intended recipient of the payout.
                        Either `email` or `phone` must be specified, but not both.

                        This information will be used to authenticate the end user when they follow the payment link.
              description: |-
                Request to create a new payment link.

                A payment link must include either `payment` or `payout` details, but not both. For payout payment links,
                `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
                to a specific recipient.

                **Note:** The `payout` option is currently under development and is not yet available for general use.
              example:
                partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
                merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
                amount:
                  currency: USD
                  value: 10000
                display:
                  title: Example Payment Link
                  description: This is an example payment link.
                  callToAction: pay
                customer:
                  requirePhone: true
                payment:
                  allowedMethods:
                    - card-payment
                    - ach-debit-collect
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createPaymentLink
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.create({
                accountID: "cc1d04a8-03b1-4600-b675-e6180d574074",
                createPaymentLink: {
                  partnerAccountID: "d290f1ee-6c54-4b01-90e6-d701748f0851",
                  merchantPaymentMethodID: "4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e",
                  amount: {
                    currency: "USD",
                    value: 10000,
                  },
                  display: {
                    title: "Example Payment Link",
                    description: "This is an example payment link.",
                    callToAction: "pay",
                  },
                  customer: {
                    requirePhone: true,
                  },
                  payment: {
                    allowedMethods: [
                      "card-payment",
                      "ach-debit-collect",
                    ],
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createPaymentLink
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createPaymentLink = new Components\CreatePaymentLink(
                partnerAccountID: 'd290f1ee-6c54-4b01-90e6-d701748f0851',
                merchantPaymentMethodID: '4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e',
                amount: new Components\Amount(
                    currency: 'USD',
                    value: 10000,
                ),
                display: new Components\PaymentLinkDisplayOptions(
                    title: 'Example Payment Link',
                    description: 'This is an example payment link.',
                    callToAction: Components\CallToAction::Pay,
                ),
                customer: new Components\PaymentLinkCustomerOptions(
                    requirePhone: true,
                ),
                payment: new Components\PaymentLinkPaymentDetails(
                    allowedMethods: [
                        Components\CollectionPaymentMethodType::CardPayment,
                        Components\CollectionPaymentMethodType::AchDebitCollect,
                    ],
                ),
            );

            $response = $sdk->paymentLinks->create(
                accountID: 'cc1d04a8-03b1-4600-b675-e6180d574074',
                createPaymentLink: $createPaymentLink

            );

            if ($response->paymentLink !== null) {
                // handle response
            }
        - lang: python
          label: createPaymentLink
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.create(account_id="cc1d04a8-03b1-4600-b675-e6180d574074", partner_account_id="d290f1ee-6c54-4b01-90e6-d701748f0851", merchant_payment_method_id="4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e", amount={
                    "currency": "USD",
                    "value": 10000,
                }, display={
                    "title": "Example Payment Link",
                    "description": "This is an example payment link.",
                    "call_to_action": "pay",
                }, customer={
                    "require_phone": True,
                }, payment={
                    "allowed_methods": [
                        "card-payment",
                        "ach-debit-collect",
                    ],
                }, payout={
                    "allowed_methods": [
                        "ach-credit-standard",
                    ],
                    "recipient": {
                        "email": "jordan.lee@classbooker.dev",
                        "phone": {
                            "number": "8185551212",
                            "country_code": "1",
                        },
                    },
                })

                # Handle response
                print(res)
        - lang: java
          label: createPaymentLink
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.CreatePaymentLinkError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreatePaymentLinkResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CreatePaymentLinkError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreatePaymentLinkResponse res = sdk.paymentLinks().create()
                            .accountID("cc1d04a8-03b1-4600-b675-e6180d574074")
                            .createPaymentLink(CreatePaymentLink.builder()
                                .partnerAccountID("d290f1ee-6c54-4b01-90e6-d701748f0851")
                                .merchantPaymentMethodID("4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e")
                                .amount(Amount.builder()
                                    .currency("USD")
                                    .value(10000L)
                                    .build())
                                .display(PaymentLinkDisplayOptions.builder()
                                    .title("Example Payment Link")
                                    .description("This is an example payment link.")
                                    .callToAction(CallToAction.PAY)
                                    .build())
                                .customer(PaymentLinkCustomerOptions.builder()
                                    .requirePhone(true)
                                    .build())
                                .payment(PaymentLinkPaymentDetails.builder()
                                    .allowedMethods(List.of(
                                        CollectionPaymentMethodType.CARD_PAYMENT,
                                        CollectionPaymentMethodType.ACH_DEBIT_COLLECT))
                                    .build())
                                .build())
                            .call();

                    if (res.paymentLink().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createPaymentLink
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.create(account_id: 'cc1d04a8-03b1-4600-b675-e6180d574074', create_payment_link: Models::Components::CreatePaymentLink.new(
              partner_account_id: 'd290f1ee-6c54-4b01-90e6-d701748f0851',
              merchant_payment_method_id: '4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e',
              amount: Models::Components::Amount.new(
                currency: 'USD',
                value: 10_000,
              ),
              display: Models::Components::PaymentLinkDisplayOptions.new(
                title: 'Example Payment Link',
                description: 'This is an example payment link.',
                call_to_action: Models::Components::CallToAction::PAY,
              ),
              customer: Models::Components::PaymentLinkCustomerOptions.new(
                require_phone: true,
              ),
              payment: Models::Components::PaymentLinkPaymentDetails.new(
                allowed_methods: [
                  Models::Components::CollectionPaymentMethodType::CARD_PAYMENT,
                  Models::Components::CollectionPaymentMethodType::ACH_DEBIT_COLLECT,
                ],
              ),
            ))

            unless res.payment_link.nil?
              # handle response
            end
    get:
      operationId: listPaymentLinks
      description: |-
        List all the payment links created under a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - code
                    - mode
                    - status
                    - partnerAccountID
                    - merchantAccountID
                    - merchantPaymentMethodID
                    - link
                    - amount
                    - uses
                    - display
                    - customer
                    - createdOn
                    - updatedOn
                  properties:
                    code:
                      type: string
                      description: Unique code identifying this payment link.
                      example: uc7ZYKrMhi
                    mode:
                      type: string
                      enum:
                        - sandbox
                        - production
                      description: The operating mode for an account.
                      example: production
                    status:
                      type: string
                      enum:
                        - active
                        - used
                        - disabled
                        - expired
                    partnerAccountID:
                      type: string
                      format: uuid
                      description: The partner's Moov account ID.
                    merchantAccountID:
                      type: string
                      format: uuid
                      description: The merchant's Moov account ID.
                    merchantPaymentMethodID:
                      type: string
                      format: uuid
                      description: The merchant's preferred payment method ID. Must be a wallet payment method.
                    link:
                      type: string
                      format: uri
                      description: Link to the payment landing page for this payment link.
                    amount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    uses:
                      type: integer
                      format: int64
                      description: The number of times this payment link has been used.
                    maxUses:
                      type: integer
                      format: int64
                      description: |-
                        An optional limit on the number of times this payment link can be used. 

                        **For payouts, `maxUses` is always 1.**
                    lastUsedOn:
                      type: string
                      format: date-time
                      description: The timestamp when this payment link was last used.
                    expiresOn:
                      type: string
                      format: date-time
                      description: An optional expiration date for this payment link.
                    display:
                      type: object
                      required:
                        - title
                        - description
                        - callToAction
                      properties:
                        title:
                          type: string
                          description: The payment page title displayed to the user.
                        description:
                          type: string
                          description: A payment description displayed to the user.
                        callToAction:
                          type: string
                          enum:
                            - pay
                            - book
                            - subscribe
                            - donate
                            - confirm
                            - auto
                          description: |-
                            The text to be displayed on web form's submit button.

                            If set to "auto" the UI will automatically select between 
                            "pay" and "confirm" for payments and payouts respectively.
                      description: Customizable display options for a payment link.
                    customer:
                      type: object
                      properties:
                        requireAddress:
                          type: boolean
                          description: If true, a billing address is required when completing the payment form.
                        requirePhone:
                          type: boolean
                          description: If true, a phone number is required when completing the payment form.
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                          description: Optional free-form metadata for the Moov account that will represent this customer.
                    payment:
                      type: object
                      required:
                        - allowedMethods
                      properties:
                        allowedMethods:
                          type: array
                          items:
                            type: string
                            enum:
                              - apple-pay
                              - card-payment
                              - ach-debit-collect
                            description: Payment methods allowed for collecting a payment.
                          minItems: 1
                          description: A list of payment methods that should be supported for this payment link.
                        cardDetails:
                          type: object
                          properties:
                            dynamicDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                              example: WhlBdy *Yoga 11-12
                          description: Options for payment links used to collect a card payment.
                        achDetails:
                          type: object
                          properties:
                            companyEntryDescription:
                              type: string
                              minLength: 4
                              maxLength: 10
                              description: An optional override of the default NACHA company entry description for a transfer.
                              example: Gym dues
                            originatingCompanyName:
                              type: string
                              minLength: 4
                              maxLength: 16
                              description: An optional override of the default NACHA company name for a transfer.
                              example: Whole Body Fit
                          description: Options for payment links used to collect an ACH payment.
                      description: Options for payment links used to collect payment.
                    payout:
                      type: object
                      required:
                        - allowedMethods
                        - recipient
                      properties:
                        allowedMethods:
                          type: array
                          items:
                            type: string
                            enum:
                              - push-to-card
                              - rtp-credit
                              - ach-credit-same-day
                              - ach-credit-standard
                            description: Payment methods allowed for disbursing funds.
                          minItems: 1
                          description: A list of payment methods that should be supported for this payment link.
                        recipient:
                          type: object
                          properties:
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                          description: |-
                            Specify the intended recipient of the payout.
                            Either `email` or `phone` must be specified, but not both.

                            This information will be used to authenticate the end user when they follow the payment link.
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    disabledOn:
                      type: string
                      format: date-time
                  example:
                    code: 3QLHtONjd5
                    mode: sandbox
                    status: active
                    partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
                    merchantAccountID: 34233b72-780c-4e0e-8b08-cbbe1bc878f8
                    merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
                    link: https://moov.money/3QLHtONjd5
                    amount:
                      currency: USD
                      value: 10000
                    uses: 0
                    display:
                      title: Example Payment Link
                      description: This is an example payment link.
                      callToAction: pay
                    customer:
                      requirePhone: true
                    payment:
                      allowedMethods:
                        - card-payment
                        - ach-debit-collect
                    updatedOn: '2025-01-09T17:09:13.33Z'
                    createdOn: '2025-01-09T17:09:13.33Z'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listPaymentLinks
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.list({
                accountID: "d1039e6d-21ee-4a29-8adf-1dd2a6625a0d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listPaymentLinks
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentLinks->list(
                accountID: 'd1039e6d-21ee-4a29-8adf-1dd2a6625a0d'
            );

            if ($response->paymentLinks !== null) {
                // handle response
            }
        - lang: python
          label: listPaymentLinks
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.list(account_id="d1039e6d-21ee-4a29-8adf-1dd2a6625a0d")

                # Handle response
                print(res)
        - lang: java
          label: listPaymentLinks
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListPaymentLinksResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListPaymentLinksResponse res = sdk.paymentLinks().list()
                            .accountID("d1039e6d-21ee-4a29-8adf-1dd2a6625a0d")
                            .call();

                    if (res.paymentLinks().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listPaymentLinks
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.list(account_id: 'd1039e6d-21ee-4a29-8adf-1dd2a6625a0d')

            unless res.payment_links.nil?
              # handle response
            end
  /accounts/{accountID}/payment-links/{paymentLinkCode}:
    get:
      operationId: getPaymentLink
      description: |-
        Retrieve a payment link by code.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: paymentLinkCode
          in: path
          required: true
          schema:
            type: string
            description: Unique code identifying this payment link.
            example: uc7ZYKrMhi
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - mode
                  - status
                  - partnerAccountID
                  - merchantAccountID
                  - merchantPaymentMethodID
                  - link
                  - amount
                  - uses
                  - display
                  - customer
                  - createdOn
                  - updatedOn
                properties:
                  code:
                    type: string
                    description: Unique code identifying this payment link.
                    example: uc7ZYKrMhi
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  status:
                    type: string
                    enum:
                      - active
                      - used
                      - disabled
                      - expired
                  partnerAccountID:
                    type: string
                    format: uuid
                    description: The partner's Moov account ID.
                  merchantAccountID:
                    type: string
                    format: uuid
                    description: The merchant's Moov account ID.
                  merchantPaymentMethodID:
                    type: string
                    format: uuid
                    description: The merchant's preferred payment method ID. Must be a wallet payment method.
                  link:
                    type: string
                    format: uri
                    description: Link to the payment landing page for this payment link.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  uses:
                    type: integer
                    format: int64
                    description: The number of times this payment link has been used.
                  maxUses:
                    type: integer
                    format: int64
                    description: |-
                      An optional limit on the number of times this payment link can be used. 

                      **For payouts, `maxUses` is always 1.**
                  lastUsedOn:
                    type: string
                    format: date-time
                    description: The timestamp when this payment link was last used.
                  expiresOn:
                    type: string
                    format: date-time
                    description: An optional expiration date for this payment link.
                  display:
                    type: object
                    required:
                      - title
                      - description
                      - callToAction
                    properties:
                      title:
                        type: string
                        description: The payment page title displayed to the user.
                      description:
                        type: string
                        description: A payment description displayed to the user.
                      callToAction:
                        type: string
                        enum:
                          - pay
                          - book
                          - subscribe
                          - donate
                          - confirm
                          - auto
                        description: |-
                          The text to be displayed on web form's submit button.

                          If set to "auto" the UI will automatically select between 
                          "pay" and "confirm" for payments and payouts respectively.
                    description: Customizable display options for a payment link.
                  customer:
                    type: object
                    properties:
                      requireAddress:
                        type: boolean
                        description: If true, a billing address is required when completing the payment form.
                      requirePhone:
                        type: boolean
                        description: If true, a phone number is required when completing the payment form.
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
                        description: Optional free-form metadata for the Moov account that will represent this customer.
                  payment:
                    type: object
                    required:
                      - allowedMethods
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - apple-pay
                            - card-payment
                            - ach-debit-collect
                          description: Payment methods allowed for collecting a payment.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                        description: Options for payment links used to collect a card payment.
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                        description: Options for payment links used to collect an ACH payment.
                    description: Options for payment links used to collect payment.
                  payout:
                    type: object
                    required:
                      - allowedMethods
                      - recipient
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - push-to-card
                            - rtp-credit
                            - ach-credit-same-day
                            - ach-credit-standard
                          description: Payment methods allowed for disbursing funds.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      recipient:
                        type: object
                        properties:
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                        description: |-
                          Specify the intended recipient of the payout.
                          Either `email` or `phone` must be specified, but not both.

                          This information will be used to authenticate the end user when they follow the payment link.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                example:
                  code: 3QLHtONjd5
                  mode: sandbox
                  status: active
                  partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
                  merchantAccountID: 34233b72-780c-4e0e-8b08-cbbe1bc878f8
                  merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
                  link: https://moov.money/3QLHtONjd5
                  amount:
                    currency: USD
                    value: 10000
                  uses: 0
                  display:
                    title: Example Payment Link
                    description: This is an example payment link.
                    callToAction: pay
                  customer:
                    requirePhone: true
                  payment:
                    allowedMethods:
                      - card-payment
                      - ach-debit-collect
                  updatedOn: '2025-01-09T17:09:13.33Z'
                  createdOn: '2025-01-09T17:09:13.33Z'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getPaymentLink
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.get({
                accountID: "323f95b1-3798-4203-8a73-5c8668a9226e",
                paymentLinkCode: "uc7ZYKrMhi",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getPaymentLink
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentLinks->get(
                accountID: '323f95b1-3798-4203-8a73-5c8668a9226e',
                paymentLinkCode: 'uc7ZYKrMhi'

            );

            if ($response->paymentLink !== null) {
                // handle response
            }
        - lang: python
          label: getPaymentLink
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.get(account_id="323f95b1-3798-4203-8a73-5c8668a9226e", payment_link_code="uc7ZYKrMhi")

                # Handle response
                print(res)
        - lang: java
          label: getPaymentLink
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetPaymentLinkResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetPaymentLinkResponse res = sdk.paymentLinks().get()
                            .accountID("323f95b1-3798-4203-8a73-5c8668a9226e")
                            .paymentLinkCode("uc7ZYKrMhi")
                            .call();

                    if (res.paymentLink().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getPaymentLink
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.get(account_id: '323f95b1-3798-4203-8a73-5c8668a9226e', payment_link_code: 'uc7ZYKrMhi')

            unless res.payment_link.nil?
              # handle response
            end
    patch:
      operationId: updatePaymentLink
      description: |-
        Update a payment link.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: paymentLinkCode
          in: path
          required: true
          schema:
            type: string
            description: Unique code identifying this payment link.
            example: uc7ZYKrMhi
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - mode
                  - status
                  - partnerAccountID
                  - merchantAccountID
                  - merchantPaymentMethodID
                  - link
                  - amount
                  - uses
                  - display
                  - customer
                  - createdOn
                  - updatedOn
                properties:
                  code:
                    type: string
                    description: Unique code identifying this payment link.
                    example: uc7ZYKrMhi
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  status:
                    type: string
                    enum:
                      - active
                      - used
                      - disabled
                      - expired
                  partnerAccountID:
                    type: string
                    format: uuid
                    description: The partner's Moov account ID.
                  merchantAccountID:
                    type: string
                    format: uuid
                    description: The merchant's Moov account ID.
                  merchantPaymentMethodID:
                    type: string
                    format: uuid
                    description: The merchant's preferred payment method ID. Must be a wallet payment method.
                  link:
                    type: string
                    format: uri
                    description: Link to the payment landing page for this payment link.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  uses:
                    type: integer
                    format: int64
                    description: The number of times this payment link has been used.
                  maxUses:
                    type: integer
                    format: int64
                    description: |-
                      An optional limit on the number of times this payment link can be used. 

                      **For payouts, `maxUses` is always 1.**
                  lastUsedOn:
                    type: string
                    format: date-time
                    description: The timestamp when this payment link was last used.
                  expiresOn:
                    type: string
                    format: date-time
                    description: An optional expiration date for this payment link.
                  display:
                    type: object
                    required:
                      - title
                      - description
                      - callToAction
                    properties:
                      title:
                        type: string
                        description: The payment page title displayed to the user.
                      description:
                        type: string
                        description: A payment description displayed to the user.
                      callToAction:
                        type: string
                        enum:
                          - pay
                          - book
                          - subscribe
                          - donate
                          - confirm
                          - auto
                        description: |-
                          The text to be displayed on web form's submit button.

                          If set to "auto" the UI will automatically select between 
                          "pay" and "confirm" for payments and payouts respectively.
                    description: Customizable display options for a payment link.
                  customer:
                    type: object
                    properties:
                      requireAddress:
                        type: boolean
                        description: If true, a billing address is required when completing the payment form.
                      requirePhone:
                        type: boolean
                        description: If true, a phone number is required when completing the payment form.
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
                        description: Optional free-form metadata for the Moov account that will represent this customer.
                  payment:
                    type: object
                    required:
                      - allowedMethods
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - apple-pay
                            - card-payment
                            - ach-debit-collect
                          description: Payment methods allowed for collecting a payment.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                        description: Options for payment links used to collect a card payment.
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                        description: Options for payment links used to collect an ACH payment.
                    description: Options for payment links used to collect payment.
                  payout:
                    type: object
                    required:
                      - allowedMethods
                      - recipient
                    properties:
                      allowedMethods:
                        type: array
                        items:
                          type: string
                          enum:
                            - push-to-card
                            - rtp-credit
                            - ach-credit-same-day
                            - ach-credit-standard
                          description: Payment methods allowed for disbursing funds.
                        minItems: 1
                        description: A list of payment methods that should be supported for this payment link.
                      recipient:
                        type: object
                        properties:
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                        description: |-
                          Specify the intended recipient of the payout.
                          Either `email` or `phone` must be specified, but not both.

                          This information will be used to authenticate the end user when they follow the payment link.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                example:
                  code: 3QLHtONjd5
                  mode: sandbox
                  status: active
                  partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
                  merchantAccountID: 34233b72-780c-4e0e-8b08-cbbe1bc878f8
                  merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
                  link: https://moov.money/3QLHtONjd5
                  amount:
                    currency: USD
                    value: 10000
                  uses: 0
                  display:
                    title: Example Payment Link
                    description: This is an example payment link.
                    callToAction: pay
                  customer:
                    requirePhone: true
                  payment:
                    allowedMethods:
                      - card-payment
                      - ach-debit-collect
                  updatedOn: '2025-01-09T17:09:13.33Z'
                  createdOn: '2025-01-09T17:09:13.33Z'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amount:
                    type: object
                    properties:
                      currency:
                        type: string
                      value:
                        type: string
                  expiresOn:
                    type: string
                  display:
                    type: object
                    properties:
                      title:
                        type: string
                      description:
                        type: string
                      callToAction:
                        type: string
                  payment:
                    type: object
                    properties:
                      allowedMethods:
                        type: string
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                          originatingCompanyName:
                            type: string
                  payout:
                    type: object
                    properties:
                      allowedMethods:
                        type: string
                      recipient:
                        type: object
                        properties:
                          email:
                            type: string
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                              countryCode:
                                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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                expiresOn:
                  type: string
                  format: date-time
                  nullable: true
                display:
                  type: object
                  properties:
                    title:
                      type: string
                      description: The payment page title displayed to the user.
                    description:
                      type: string
                      description: A payment description displayed to the user.
                    callToAction:
                      type: string
                      enum:
                        - pay
                        - book
                        - subscribe
                        - donate
                        - confirm
                        - auto
                      description: |-
                        The text to be displayed on web form's submit button.

                        If set to "auto" the UI will automatically select between 
                        "pay" and "confirm" for payments and payouts respectively.
                  description: Customizable display options for a payment link.
                customer:
                  type: object
                  properties:
                    requireAddress:
                      type: boolean
                      description: If true, a billing address is required when completing the payment form.
                    requirePhone:
                      type: boolean
                      description: If true, a phone number is required when completing the payment form.
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Optional free-form metadata for the Moov account that will represent this customer.
                payment:
                  type: object
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                        enum:
                          - apple-pay
                          - card-payment
                          - ach-debit-collect
                        description: Payment methods allowed for collecting a payment.
                      minItems: 1
                      description: A list of payment methods that should be supported for this payment link.
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                      description: Options for payment links used to collect a card payment.
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                      description: Options for payment links used to collect an ACH payment.
                  description: Options for payment links used to collect payment.
                payout:
                  type: object
                  properties:
                    allowedMethods:
                      type: array
                      items:
                        type: string
                        enum:
                          - push-to-card
                          - rtp-credit
                          - ach-credit-same-day
                          - ach-credit-standard
                        description: Payment methods allowed for disbursing funds.
                      minItems: 1
                      description: A list of payment methods that should be supported for this payment link.
                    recipient:
                      type: object
                      properties:
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                      description: |-
                        Specify the intended recipient of the payout.
                        Either `email` or `phone` must be specified, but not both.

                        This information will be used to authenticate the end user when they follow the payment link.
              example:
                amount:
                  currency: USD
                  value: 12099
                customer:
                  requirePhone: true
                  requireAddress: true
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updatePaymentLink
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.update({
                accountID: "ddad6613-2350-446a-883b-f76abb2cd4ea",
                paymentLinkCode: "uc7ZYKrMhi",
                updatePaymentLink: {
                  amount: {
                    currency: "USD",
                    value: 12099,
                  },
                  customer: {
                    requireAddress: true,
                    requirePhone: true,
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updatePaymentLink
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updatePaymentLink = new Components\UpdatePaymentLink(
                amount: new Components\AmountUpdate(
                    currency: 'USD',
                    value: 12099,
                ),
                customer: new Components\PaymentLinkCustomerOptions(
                    requireAddress: true,
                    requirePhone: true,
                ),
            );

            $response = $sdk->paymentLinks->update(
                accountID: 'ddad6613-2350-446a-883b-f76abb2cd4ea',
                paymentLinkCode: 'uc7ZYKrMhi',
                updatePaymentLink: $updatePaymentLink

            );

            if ($response->paymentLink !== null) {
                // handle response
            }
        - lang: python
          label: updatePaymentLink
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.update(account_id="ddad6613-2350-446a-883b-f76abb2cd4ea", payment_link_code="uc7ZYKrMhi", amount={
                    "currency": "USD",
                    "value": 12099,
                }, customer={
                    "require_address": True,
                    "require_phone": True,
                }, payment={
                    "card_details": {
                        "dynamic_descriptor": "WhlBdy *Yoga 11-12",
                    },
                    "ach_details": {
                        "company_entry_description": "Gym dues",
                        "originating_company_name": "Whole Body Fit",
                    },
                }, payout={
                    "recipient": {
                        "email": "jordan.lee@classbooker.dev",
                        "phone": {
                            "number": "8185551212",
                            "country_code": "1",
                        },
                    },
                })

                # Handle response
                print(res)
        - lang: java
          label: updatePaymentLink
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpdatePaymentLinkError;
            import org.openapis.openapi.models.operations.UpdatePaymentLinkResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpdatePaymentLinkError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdatePaymentLinkResponse res = sdk.paymentLinks().update()
                            .accountID("ddad6613-2350-446a-883b-f76abb2cd4ea")
                            .paymentLinkCode("uc7ZYKrMhi")
                            .updatePaymentLink(UpdatePaymentLink.builder()
                                .amount(AmountUpdate.builder()
                                    .currency("USD")
                                    .value(12099L)
                                    .build())
                                .customer(PaymentLinkCustomerOptions.builder()
                                    .requireAddress(true)
                                    .requirePhone(true)
                                    .build())
                                .build())
                            .call();

                    if (res.paymentLink().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updatePaymentLink
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.update(account_id: 'ddad6613-2350-446a-883b-f76abb2cd4ea', payment_link_code: 'uc7ZYKrMhi', update_payment_link: Models::Components::UpdatePaymentLink.new(
              amount: Models::Components::AmountUpdate.new(
                currency: 'USD',
                value: 12_099,
              ),
              customer: Models::Components::PaymentLinkCustomerOptions.new(
                require_address: true,
                require_phone: true,
              ),
            ))

            unless res.payment_link.nil?
              # handle response
            end
    delete:
      operationId: disablePaymentLink
      description: |-
        Disable a payment link.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: paymentLinkCode
          in: path
          required: true
          schema:
            type: string
            description: Unique code identifying this payment link.
            example: uc7ZYKrMhi
      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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      x-speakeasy-name-override: disable
      x-codeSamples:
        - lang: typescript
          label: disablePaymentLink
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.disable({
                accountID: "c1cf000d-0dd9-4dec-bd5e-a88e135adf82",
                paymentLinkCode: "uc7ZYKrMhi",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: disablePaymentLink
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentLinks->disable(
                accountID: 'c1cf000d-0dd9-4dec-bd5e-a88e135adf82',
                paymentLinkCode: 'uc7ZYKrMhi'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: disablePaymentLink
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.disable(account_id="c1cf000d-0dd9-4dec-bd5e-a88e135adf82", payment_link_code="uc7ZYKrMhi")

                # Handle response
                print(res)
        - lang: java
          label: disablePaymentLink
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.DisablePaymentLinkResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DisablePaymentLinkResponse res = sdk.paymentLinks().disable()
                            .accountID("c1cf000d-0dd9-4dec-bd5e-a88e135adf82")
                            .paymentLinkCode("uc7ZYKrMhi")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: disablePaymentLink
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.disable(account_id: 'c1cf000d-0dd9-4dec-bd5e-a88e135adf82', payment_link_code: 'uc7ZYKrMhi')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/payment-links/{paymentLinkCode}/qrcode:
    get:
      operationId: getPaymentLinkQRCode
      description: |-
        Retrieve the payment link encoded in a QR code. 

        Use the `Accept` header to specify the format of the response. Supported formats are `application/json` and `image/png`.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: paymentLinkCode
          in: path
          required: true
          schema:
            type: string
            description: Unique code identifying this payment link.
            example: uc7ZYKrMhi
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - qrCode
                properties:
                  qrCode:
                    type: string
                    description: A base64-encoded PNG image of the QR code.
                    example: iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAIAAADaA7F0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA...
            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment links
      x-speakeasy-name-override: getQRCode
      x-codeSamples:
        - lang: typescript
          label: getPaymentLinkQRCode
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentLinks.getQRCode({
                accountID: "2f01a42a-aa5a-424f-9f47-6f8999ed05dc",
                paymentLinkCode: "uc7ZYKrMhi",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getPaymentLinkQRCode
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentLinks->getQRCode(
                accountID: '2f01a42a-aa5a-424f-9f47-6f8999ed05dc',
                paymentLinkCode: 'uc7ZYKrMhi'

            );

            if ($response->qrCode !== null) {
                // handle response
            }
        - lang: python
          label: getPaymentLinkQRCode
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_links.get_qr_code(account_id="2f01a42a-aa5a-424f-9f47-6f8999ed05dc", payment_link_code="uc7ZYKrMhi")

                # Handle response
                print(res)
        - lang: java
          label: getPaymentLinkQRCode
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetPaymentLinkQRCodeResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetPaymentLinkQRCodeResponse res = sdk.paymentLinks().getQRCode()
                            .accountID("2f01a42a-aa5a-424f-9f47-6f8999ed05dc")
                            .paymentLinkCode("uc7ZYKrMhi")
                            .call();

                    if (res.qrCode().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getPaymentLinkQRCode
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_links.get_qr_code(account_id: '2f01a42a-aa5a-424f-9f47-6f8999ed05dc', payment_link_code: 'uc7ZYKrMhi')

            unless res.qr_code.nil?
              # handle response
            end
  /accounts/{accountID}/payment-methods:
    get:
      operationId: listPaymentMethods
      description: |-
        Retrieve a list of payment methods associated with a Moov account. Read our [payment methods 
        guide](https://docs.moov.io/guides/money-movement/payment-methods/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/payment-methods.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: sourceID
          in: query
          required: false
          description: |-
            Optional parameter to filter the account's payment methods by source ID. 

            A source ID can be a [walletID](https://docs.moov.io/api/sources/wallets/list/), [cardID](https://docs.moov.io/api/sources/cards/list/), 
            or [bankAccountID](https://docs.moov.io/api/sources/bank-accounts/list/).
          schema:
            type: string
            format: uuid
          explode: false
        - name: paymentMethodType
          in: query
          required: false
          description: Optional parameter to filter the account's payment methods by payment method type.
          schema:
            type: string
            enum:
              - moov-wallet
              - ach-debit-fund
              - ach-debit-collect
              - ach-credit-standard
              - ach-credit-same-day
              - rtp-credit
              - card-payment
              - push-to-card
              - pull-from-card
              - apple-pay
              - card-present-payment
            description: The payment method type that represents a payment rail and directionality
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - wallet
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                        wallet:
                          type: object
                          required:
                            - walletID
                            - partnerAccountID
                            - walletType
                          properties:
                            walletID:
                              type: string
                              format: uuid
                            partnerAccountID:
                              type: string
                              format: uuid
                            walletType:
                              type: string
                              enum:
                                - default
                                - general
                              description: |-
                                Type of a wallet.
                                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                  - `general`: An additional, user-defined wallet created via API or Dashboard.
                      title: Moov wallet
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - bankAccount
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - ach-debit-fund
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                      title: ACH debit fund
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - bankAccount
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - ach-debit-collect
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                      title: ACH debit collect
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - bankAccount
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - ach-credit-standard
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                      title: ACH credit standard
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - bankAccount
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - ach-credit-same-day
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                      title: ACH credit same day
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - bankAccount
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - rtp-credit
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                      title: RTP credit
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - card
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - card-payment
                        card:
                          type: object
                          required:
                            - cardID
                            - fingerprint
                            - brand
                            - cardType
                            - lastFourCardNumber
                            - bin
                            - expiration
                            - billingAddress
                            - cardVerification
                          properties:
                            cardID:
                              type: string
                              format: uuid
                              description: ID of the card.
                              example: 01234567-89ab-cdef-0123-456789abcdef
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            billingAddress:
                              type: object
                              required:
                                - postalCode
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                city:
                                  type: string
                                  maxLength: 32
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                postalCode:
                                  type: string
                                  maxLength: 10
                                country:
                                  type: string
                                  maxLength: 2
                              example:
                                addressLine1: 123 Main Street
                                addressLine2: Apt 302
                                city: Boulder
                                stateOrProvince: CO
                                postalCode: '80301'
                                country: US
                            cardVerification:
                              type: object
                              required:
                                - cvv
                                - addressLine1
                                - postalCode
                              properties:
                                cvv:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                addressLine1:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                postalCode:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                accountName:
                                  type: object
                                  properties:
                                    firstName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    lastName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    middleName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    fullName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                  description: The results of submitting cardholder name to a card network for verification.
                                  example:
                                    firstName: match
                                    lastName: match
                                    middleName: match
                                    fullName: match
                              description: The results of submitting cardholder data to a card network for verification.
                              example:
                                cvv: match
                                addressLine1: match
                                postalCode: match
                                accountName:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            cardOnFile:
                              type: boolean
                              description: Indicates cardholder has authorized card to be stored for future payments.
                            merchantAccountID:
                              type: string
                              format: uuid
                            cardAccountUpdater:
                              type: object
                              properties:
                                updatedOn:
                                  type: string
                                  format: date-time
                                updateType:
                                  type: string
                                  enum:
                                    - unspecified
                                    - account-closed
                                    - contact-cardholder
                                    - expiration-update
                                    - no-change
                                    - no-match
                                    - number-update
                                  description: The results of the card update request.
                                  example: number-update
                              description: The results of the most recent card update request.
                              example:
                                updatedOn: '2024-05-06T12:20:38.184Z'
                                updateType: number-update
                            domesticPushToCard:
                              type: string
                              enum:
                                - not-supported
                                - standard
                                - fast-funds
                                - unknown
                              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                              example: standard
                            domesticPullFromCard:
                              type: string
                              enum:
                                - not-supported
                                - supported
                                - unknown
                              description: Indicates if the card supports domestic pull-from-card transfer.
                              example: supported
                          description: A card as contained within a payment method.
                      title: Card payment
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - card
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - push-to-card
                        card:
                          type: object
                          required:
                            - cardID
                            - fingerprint
                            - brand
                            - cardType
                            - lastFourCardNumber
                            - bin
                            - expiration
                            - billingAddress
                            - cardVerification
                          properties:
                            cardID:
                              type: string
                              format: uuid
                              description: ID of the card.
                              example: 01234567-89ab-cdef-0123-456789abcdef
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            billingAddress:
                              type: object
                              required:
                                - postalCode
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                city:
                                  type: string
                                  maxLength: 32
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                postalCode:
                                  type: string
                                  maxLength: 10
                                country:
                                  type: string
                                  maxLength: 2
                              example:
                                addressLine1: 123 Main Street
                                addressLine2: Apt 302
                                city: Boulder
                                stateOrProvince: CO
                                postalCode: '80301'
                                country: US
                            cardVerification:
                              type: object
                              required:
                                - cvv
                                - addressLine1
                                - postalCode
                              properties:
                                cvv:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                addressLine1:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                postalCode:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                accountName:
                                  type: object
                                  properties:
                                    firstName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    lastName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    middleName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    fullName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                  description: The results of submitting cardholder name to a card network for verification.
                                  example:
                                    firstName: match
                                    lastName: match
                                    middleName: match
                                    fullName: match
                              description: The results of submitting cardholder data to a card network for verification.
                              example:
                                cvv: match
                                addressLine1: match
                                postalCode: match
                                accountName:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            cardOnFile:
                              type: boolean
                              description: Indicates cardholder has authorized card to be stored for future payments.
                            merchantAccountID:
                              type: string
                              format: uuid
                            cardAccountUpdater:
                              type: object
                              properties:
                                updatedOn:
                                  type: string
                                  format: date-time
                                updateType:
                                  type: string
                                  enum:
                                    - unspecified
                                    - account-closed
                                    - contact-cardholder
                                    - expiration-update
                                    - no-change
                                    - no-match
                                    - number-update
                                  description: The results of the card update request.
                                  example: number-update
                              description: The results of the most recent card update request.
                              example:
                                updatedOn: '2024-05-06T12:20:38.184Z'
                                updateType: number-update
                            domesticPushToCard:
                              type: string
                              enum:
                                - not-supported
                                - standard
                                - fast-funds
                                - unknown
                              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                              example: standard
                            domesticPullFromCard:
                              type: string
                              enum:
                                - not-supported
                                - supported
                                - unknown
                              description: Indicates if the card supports domestic pull-from-card transfer.
                              example: supported
                          description: A card as contained within a payment method.
                      title: Push to card
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - card
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - pull-from-card
                        card:
                          type: object
                          required:
                            - cardID
                            - fingerprint
                            - brand
                            - cardType
                            - lastFourCardNumber
                            - bin
                            - expiration
                            - billingAddress
                            - cardVerification
                          properties:
                            cardID:
                              type: string
                              format: uuid
                              description: ID of the card.
                              example: 01234567-89ab-cdef-0123-456789abcdef
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            billingAddress:
                              type: object
                              required:
                                - postalCode
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                city:
                                  type: string
                                  maxLength: 32
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                postalCode:
                                  type: string
                                  maxLength: 10
                                country:
                                  type: string
                                  maxLength: 2
                              example:
                                addressLine1: 123 Main Street
                                addressLine2: Apt 302
                                city: Boulder
                                stateOrProvince: CO
                                postalCode: '80301'
                                country: US
                            cardVerification:
                              type: object
                              required:
                                - cvv
                                - addressLine1
                                - postalCode
                              properties:
                                cvv:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                addressLine1:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                postalCode:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                accountName:
                                  type: object
                                  properties:
                                    firstName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    lastName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    middleName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    fullName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                  description: The results of submitting cardholder name to a card network for verification.
                                  example:
                                    firstName: match
                                    lastName: match
                                    middleName: match
                                    fullName: match
                              description: The results of submitting cardholder data to a card network for verification.
                              example:
                                cvv: match
                                addressLine1: match
                                postalCode: match
                                accountName:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            cardOnFile:
                              type: boolean
                              description: Indicates cardholder has authorized card to be stored for future payments.
                            merchantAccountID:
                              type: string
                              format: uuid
                            cardAccountUpdater:
                              type: object
                              properties:
                                updatedOn:
                                  type: string
                                  format: date-time
                                updateType:
                                  type: string
                                  enum:
                                    - unspecified
                                    - account-closed
                                    - contact-cardholder
                                    - expiration-update
                                    - no-change
                                    - no-match
                                    - number-update
                                  description: The results of the card update request.
                                  example: number-update
                              description: The results of the most recent card update request.
                              example:
                                updatedOn: '2024-05-06T12:20:38.184Z'
                                updateType: number-update
                            domesticPushToCard:
                              type: string
                              enum:
                                - not-supported
                                - standard
                                - fast-funds
                                - unknown
                              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                              example: standard
                            domesticPullFromCard:
                              type: string
                              enum:
                                - not-supported
                                - supported
                                - unknown
                              description: Indicates if the card supports domestic pull-from-card transfer.
                              example: supported
                          description: A card as contained within a payment method.
                      title: Pull from card
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - applePay
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - apple-pay
                        applePay:
                          type: object
                          required:
                            - brand
                            - cardType
                            - cardDisplayName
                            - fingerprint
                            - expiration
                            - dynamicLastFour
                          properties:
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            cardDisplayName:
                              type: string
                              description: |2-
                                  User-friendly name of the tokenized card returned by Apple.
                                  
                                  It usually contains the brand and the last four digits of the underlying card.
                                  There is no standard format.
                              example: Visa 1256
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            dynamicLastFour:
                              type: string
                              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                            issuerCountry:
                              type: string
                              description: Country where the underlying card was issued.
                              example: US
                          description: Describes an Apple Pay token on a Moov account.
                      title: Apple Pay
                    - type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        paymentMethodType:
                          type: string
                          enum:
                            - card-present-payment
                        terminalCard:
                          type: object
                          properties:
                            entryMode:
                              type: string
                              enum:
                                - contactless
                              description: How the card information was entered into the point of sale terminal.
                              example: contactless
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            applicationID:
                              type: string
                              description: Identifier for the point of sale terminal application.
                            applicationName:
                              type: string
                              description: Name label for the point of sale terminal application.
                          description: Describes payment card details captured with tap or in-person payment.
                          example:
                            entryMode: contactless
                            brand: Visa
                            bin: '123456'
                            cardType: credit
                            expiration:
                              month: '01'
                              year: '21'
                            fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            holderName: Jules Jackson
                            issuer: GRINGOTTS BANK
                            issuerCountry: US
                            lastFourCardNumber: '1234'
                      description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
                  discriminator:
                    propertyName: paymentMethodType
                    mapping:
                      moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                      ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                      ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                      ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                      ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                      rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                      card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                      push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                      pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                      apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                      card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
                  description: A method of moving money
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment methods
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listPaymentMethods
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentMethods.list({
                accountID: "f5503781-dfe4-4bcd-9487-5b5fe2b4d53b",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listPaymentMethods
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentMethods->list(
                accountID: 'f5503781-dfe4-4bcd-9487-5b5fe2b4d53b'
            );

            if ($response->paymentMethods !== null) {
                // handle response
            }
        - lang: python
          label: listPaymentMethods
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_methods.list(account_id="f5503781-dfe4-4bcd-9487-5b5fe2b4d53b")

                # Handle response
                print(res)
        - lang: java
          label: listPaymentMethods
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListPaymentMethodsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListPaymentMethodsResponse res = sdk.paymentMethods().list()
                            .accountID("f5503781-dfe4-4bcd-9487-5b5fe2b4d53b")
                            .call();

                    if (res.paymentMethods().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listPaymentMethods
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_methods.list(account_id: 'f5503781-dfe4-4bcd-9487-5b5fe2b4d53b')

            unless res.payment_methods.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/payment-methods.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: paymentMethodID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the payment method.
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - wallet
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                    title: Moov wallet
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - bankAccount
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - ach-debit-fund
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                    title: ACH debit fund
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - bankAccount
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - ach-debit-collect
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                    title: ACH debit collect
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - bankAccount
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - ach-credit-standard
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                    title: ACH credit standard
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - bankAccount
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - ach-credit-same-day
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                    title: ACH credit same day
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - bankAccount
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - rtp-credit
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                    title: RTP credit
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - card
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - card-payment
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                    title: Card payment
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - card
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - push-to-card
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                    title: Push to card
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - card
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - pull-from-card
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                    title: Pull from card
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - applePay
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - apple-pay
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                    title: Apple Pay
                  - type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      paymentMethodType:
                        type: string
                        enum:
                          - card-present-payment
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                    description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
                discriminator:
                  propertyName: paymentMethodType
                  mapping:
                    moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                    ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                    ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                    ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                    ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                    rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                    card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                    push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                    pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                    apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                    card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
                description: A method of moving money
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Payment methods
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getPaymentMethod
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.paymentMethods.get({
                accountID: "56878537-30b0-48ee-9c54-07ab3a8b243d",
                paymentMethodID: "aa740bf3-4c5f-459b-9370-4f7d4bea382b",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getPaymentMethod
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->paymentMethods->get(
                accountID: '56878537-30b0-48ee-9c54-07ab3a8b243d',
                paymentMethodID: 'aa740bf3-4c5f-459b-9370-4f7d4bea382b'

            );

            if ($response->paymentMethod !== null) {
                // handle response
            }
        - lang: python
          label: getPaymentMethod
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.payment_methods.get(account_id="56878537-30b0-48ee-9c54-07ab3a8b243d", payment_method_id="aa740bf3-4c5f-459b-9370-4f7d4bea382b")

                # Handle response
                print(res)
        - lang: java
          label: getPaymentMethod
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetPaymentMethodResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetPaymentMethodResponse res = sdk.paymentMethods().get()
                            .accountID("56878537-30b0-48ee-9c54-07ab3a8b243d")
                            .paymentMethodID("aa740bf3-4c5f-459b-9370-4f7d4bea382b")
                            .call();

                    if (res.paymentMethod().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getPaymentMethod
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.payment_methods.get(account_id: '56878537-30b0-48ee-9c54-07ab3a8b243d', payment_method_id: 'aa740bf3-4c5f-459b-9370-4f7d4bea382b')

            unless res.payment_method.nil?
              # handle response
            end
  /accounts/{accountID}/representatives:
    post:
      operationId: createRepresentative
      description: |-
        Moov accounts associated with businesses require information regarding individuals who represent the business. 
        You can provide this information by creating a representative. Each account is allowed a maximum of 7 representatives. 
        Read our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/representatives.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the account.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - representativeID
                  - name
                  - createdOn
                  - updatedOn
                properties:
                  representativeID:
                    type: string
                    format: uuid
                    description: Unique identifier for this representative.
                  name:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's first given name.
                        example: Jordan
                      middleName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's second given name, if any.
                        example: Reese
                      lastName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's family name.
                        example: Lee
                      suffix:
                        type: string
                        maxLength: 20
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: Suffix of a given name.
                        example: Jr
                  phone:
                    type: object
                    properties:
                      number:
                        type: string
                        maxLength: 10
                        example: '8185551212'
                      countryCode:
                        type: string
                        maxLength: 1
                        example: '1'
                  email:
                    type: string
                    maxLength: 255
                    format: email
                    example: jordan.lee@classbooker.dev
                  address:
                    type: object
                    required:
                      - addressLine1
                      - city
                      - stateOrProvince
                      - postalCode
                      - country
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: 123 Main Street
                      addressLine2:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Apt 302
                      city:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Boulder
                      stateOrProvince:
                        type: string
                        maxLength: 2
                        example: CO
                      postalCode:
                        type: string
                        maxLength: 5
                        example: '80301'
                      country:
                        type: string
                        maxLength: 2
                        example: US
                  birthDateProvided:
                    type: boolean
                    description: Indicates whether this representative's birth date has been provided.
                  governmentIDProvided:
                    type: boolean
                    description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                  responsibilities:
                    type: object
                    properties:
                      isController:
                        type: boolean
                        description: Indicates whether this individual has significant management responsibilities within the business.
                      isOwner:
                        type: boolean
                        description: |-
                          If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                          business. If the representative does not own at least 25% of the business, this field should be `false`.
                      ownershipPercentage:
                        type: integer
                        description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                        example: 38
                      jobTitle:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: CEO
                    description: Describes the job responsibilities of a business representative.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                description: Describes a business 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    properties:
                      name:
                        type: object
                        properties:
                          firstName:
                            type: string
                          middleName:
                            type: string
                          lastName:
                            type: string
                          suffix:
                            type: string
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                          countryCode:
                            type: string
                      email:
                        type: string
                      address:
                        type: object
                        properties:
                          addressLine1:
                            type: string
                          addressLine2:
                            type: string
                          city:
                            type: string
                          stateOrProvince:
                            type: string
                          postalCode:
                            type: string
                          country:
                            type: string
                      birthDate:
                        type: object
                        properties:
                          day:
                            type: string
                          month:
                            type: string
                          year:
                            type: string
                      governmentID:
                        type: object
                        properties:
                          ssn:
                            type: object
                            properties:
                              full:
                                type: string
                              lastFour:
                                type: string
                          itin:
                            type: object
                            properties:
                              full:
                                type: string
                              lastFour:
                                type: string
                      responsibilities:
                        type: object
                        properties:
                          isController:
                            type: string
                          isOwner:
                            type: string
                          ownershipPercentage:
                            type: string
                          jobTitle:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Representatives
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                birthDate:
                  type: object
                  required:
                    - day
                    - month
                    - year
                  properties:
                    day:
                      type: integer
                      example: 9
                    month:
                      type: integer
                      example: 11
                    year:
                      type: integer
                      example: 1989
                governmentID:
                  type: object
                  properties:
                    ssn:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
                    itin:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
                responsibilities:
                  type: object
                  properties:
                    isController:
                      type: boolean
                      description: Indicates whether this individual has significant management responsibilities within the business.
                    isOwner:
                      type: boolean
                      description: |-
                        If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                        business. If the representative does not own at least 25% of the business, this field should be `false`.
                    ownershipPercentage:
                      type: integer
                      description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                      example: 38
                    jobTitle:
                      type: string
                      maxLength: 64
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: CEO
                  description: Describes the job responsibilities of a business representative.
              allOf:
                - type: object
                  required:
                    - name
                  properties:
                    name:
                      type: object
                      required:
                        - firstName
                        - lastName
                      properties:
                        firstName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's first given name.
                          example: Jordan
                        middleName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's second given name, if any.
                          example: Reese
                        lastName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's family name.
                          example: Lee
                        suffix:
                          type: string
                          maxLength: 20
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: Suffix of a given name.
                          example: Jr
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                  description: The template for omitting properties.
              description: Describes a business representative to create.
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createRepresentative
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.representatives.create({
                accountID: "5abfe3a5-7cd3-4f92-a8bd-19b64e3ccc10",
                createRepresentative: {
                  name: {
                    firstName: "Jordan",
                    middleName: "Reese",
                    lastName: "Lee",
                    suffix: "Jr",
                  },
                  phone: {
                    number: "8185551212",
                    countryCode: "1",
                  },
                  email: "jordan.lee@classbooker.dev",
                  address: {
                    addressLine1: "123 Main Street",
                    addressLine2: "Apt 302",
                    city: "Boulder",
                    stateOrProvince: "CO",
                    postalCode: "80301",
                    country: "US",
                  },
                  birthDate: {
                    day: 9,
                    month: 11,
                    year: 1989,
                  },
                  responsibilities: {
                    ownershipPercentage: 38,
                    jobTitle: "CEO",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createRepresentative
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createRepresentative = new Components\CreateRepresentative(
                name: new Components\IndividualName(
                    firstName: 'Jordan',
                    middleName: 'Reese',
                    lastName: 'Lee',
                    suffix: 'Jr',
                ),
                phone: new Components\PhoneNumber(
                    number: '8185551212',
                    countryCode: '1',
                ),
                email: 'jordan.lee@classbooker.dev',
                address: new Components\Address(
                    addressLine1: '123 Main Street',
                    addressLine2: 'Apt 302',
                    city: 'Boulder',
                    stateOrProvince: 'CO',
                    postalCode: '80301',
                    country: 'US',
                ),
                birthDate: new Components\BirthDate(
                    day: 9,
                    month: 11,
                    year: 1989,
                ),
                responsibilities: new Components\RepresentativeResponsibilities(
                    ownershipPercentage: 38,
                    jobTitle: 'CEO',
                ),
            );

            $response = $sdk->representatives->create(
                accountID: '5abfe3a5-7cd3-4f92-a8bd-19b64e3ccc10',
                createRepresentative: $createRepresentative

            );

            if ($response->representative !== null) {
                // handle response
            }
        - lang: python
          label: createRepresentative
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.representatives.create(account_id="5abfe3a5-7cd3-4f92-a8bd-19b64e3ccc10", name={
                    "first_name": "Jordan",
                    "middle_name": "Reese",
                    "last_name": "Lee",
                    "suffix": "Jr",
                }, phone={
                    "number": "8185551212",
                    "country_code": "1",
                }, email="jordan.lee@classbooker.dev", address={
                    "address_line1": "123 Main Street",
                    "address_line2": "Apt 302",
                    "city": "Boulder",
                    "state_or_province": "CO",
                    "postal_code": "80301",
                    "country": "US",
                }, birth_date={
                    "day": 9,
                    "month": 11,
                    "year": 1989,
                }, responsibilities={
                    "ownership_percentage": 38,
                    "job_title": "CEO",
                })

                # Handle response
                print(res)
        - lang: java
          label: createRepresentative
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.RepresentativeValidationError;
            import org.openapis.openapi.models.operations.CreateRepresentativeResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, RepresentativeValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateRepresentativeResponse res = sdk.representatives().create()
                            .accountID("5abfe3a5-7cd3-4f92-a8bd-19b64e3ccc10")
                            .createRepresentative(CreateRepresentative.builder()
                                .name(IndividualName.builder()
                                    .firstName("Jordan")
                                    .lastName("Lee")
                                    .middleName("Reese")
                                    .suffix("Jr")
                                    .build())
                                .phone(PhoneNumber.builder()
                                    .number("8185551212")
                                    .countryCode("1")
                                    .build())
                                .email("jordan.lee@classbooker.dev")
                                .address(Address.builder()
                                    .addressLine1("123 Main Street")
                                    .city("Boulder")
                                    .stateOrProvince("CO")
                                    .postalCode("80301")
                                    .country("US")
                                    .addressLine2("Apt 302")
                                    .build())
                                .birthDate(BirthDate.builder()
                                    .day(9L)
                                    .month(11L)
                                    .year(1989L)
                                    .build())
                                .responsibilities(RepresentativeResponsibilities.builder()
                                    .ownershipPercentage(38L)
                                    .jobTitle("CEO")
                                    .build())
                                .build())
                            .call();

                    if (res.representative().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createRepresentative
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.representatives.create(account_id: '5abfe3a5-7cd3-4f92-a8bd-19b64e3ccc10', create_representative: Models::Components::CreateRepresentative.new(
              name: Models::Components::IndividualName.new(
                first_name: 'Jordan',
                middle_name: 'Reese',
                last_name: 'Lee',
                suffix: 'Jr',
              ),
              phone: Models::Components::PhoneNumber.new(
                number: '8185551212',
                country_code: '1',
              ),
              email: 'jordan.lee@classbooker.dev',
              address: Models::Components::Address.new(
                address_line1: '123 Main Street',
                address_line2: 'Apt 302',
                city: 'Boulder',
                state_or_province: 'CO',
                postal_code: '80301',
                country: 'US',
              ),
              birth_date: Models::Components::BirthDate.new(
                day: 9,
                month: 11,
                year: 1989,
              ),
              responsibilities: Models::Components::RepresentativeResponsibilities.new(
                ownership_percentage: 38,
                job_title: 'CEO',
              ),
            ))

            unless res.representative.nil?
              # handle response
            end
    get:
      operationId: listRepresentatives
      description: |-
        A Moov account may have multiple representatives depending on the associated business's ownership and management structure. 
        You can use this method to list all the representatives for a given Moov account. 
        Note that Moov accounts associated with an individual do not have representatives. 
        Read our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/representatives.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the account.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - representativeID
                    - name
                    - createdOn
                    - updatedOn
                  properties:
                    representativeID:
                      type: string
                      format: uuid
                      description: Unique identifier for this representative.
                    name:
                      type: object
                      required:
                        - firstName
                        - lastName
                      properties:
                        firstName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's first given name.
                          example: Jordan
                        middleName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's second given name, if any.
                          example: Reese
                        lastName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's family name.
                          example: Lee
                        suffix:
                          type: string
                          maxLength: 20
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: Suffix of a given name.
                          example: Jr
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    birthDateProvided:
                      type: boolean
                      description: Indicates whether this representative's birth date has been provided.
                    governmentIDProvided:
                      type: boolean
                      description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                    responsibilities:
                      type: object
                      properties:
                        isController:
                          type: boolean
                          description: Indicates whether this individual has significant management responsibilities within the business.
                        isOwner:
                          type: boolean
                          description: |-
                            If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                            business. If the representative does not own at least 25% of the business, this field should be `false`.
                        ownershipPercentage:
                          type: integer
                          description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                          example: 38
                        jobTitle:
                          type: string
                          maxLength: 64
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: CEO
                      description: Describes the job responsibilities of a business representative.
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    disabledOn:
                      type: string
                      format: date-time
                  description: Describes a business 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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Representatives
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listRepresentatives
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.representatives.list({
                accountID: "aa071158-7ed6-4c18-af34-4fa37b755e53",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listRepresentatives
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->representatives->list(
                accountID: 'aa071158-7ed6-4c18-af34-4fa37b755e53'
            );

            if ($response->representatives !== null) {
                // handle response
            }
        - lang: python
          label: listRepresentatives
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.representatives.list(account_id="aa071158-7ed6-4c18-af34-4fa37b755e53")

                # Handle response
                print(res)
        - lang: java
          label: listRepresentatives
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListRepresentativesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListRepresentativesResponse res = sdk.representatives().list()
                            .accountID("aa071158-7ed6-4c18-af34-4fa37b755e53")
                            .call();

                    if (res.representatives().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listRepresentatives
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.representatives.list(account_id: 'aa071158-7ed6-4c18-af34-4fa37b755e53')

            unless res.representatives.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/representatives.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the account.
          schema:
            type: string
            format: uuid
        - name: representativeID
          in: path
          required: true
          description: ID of the representative.
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Representatives
      x-speakeasy-name-override: delete
      x-codeSamples:
        - lang: typescript
          label: deleteRepresentative
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.representatives.delete({
                accountID: "23b950c7-3ccf-4edc-9566-07f765d57c73",
                representativeID: "74d0f56b-b81b-467a-bc86-47a55fe5e503",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: deleteRepresentative
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->representatives->delete(
                accountID: '23b950c7-3ccf-4edc-9566-07f765d57c73',
                representativeID: '74d0f56b-b81b-467a-bc86-47a55fe5e503'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: deleteRepresentative
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.representatives.delete(account_id="23b950c7-3ccf-4edc-9566-07f765d57c73", representative_id="74d0f56b-b81b-467a-bc86-47a55fe5e503")

                # Handle response
                print(res)
        - lang: java
          label: deleteRepresentative
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DeleteRepresentativeResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DeleteRepresentativeResponse res = sdk.representatives().delete()
                            .accountID("23b950c7-3ccf-4edc-9566-07f765d57c73")
                            .representativeID("74d0f56b-b81b-467a-bc86-47a55fe5e503")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: deleteRepresentative
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.representatives.delete(account_id: '23b950c7-3ccf-4edc-9566-07f765d57c73', representative_id: '74d0f56b-b81b-467a-bc86-47a55fe5e503')

            if res.status_code == 200
              # handle response
            end
    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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/representatives.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the account.
          schema:
            type: string
            format: uuid
        - name: representativeID
          in: path
          required: true
          description: ID of the representative.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - representativeID
                  - name
                  - createdOn
                  - updatedOn
                properties:
                  representativeID:
                    type: string
                    format: uuid
                    description: Unique identifier for this representative.
                  name:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's first given name.
                        example: Jordan
                      middleName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's second given name, if any.
                        example: Reese
                      lastName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's family name.
                        example: Lee
                      suffix:
                        type: string
                        maxLength: 20
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: Suffix of a given name.
                        example: Jr
                  phone:
                    type: object
                    properties:
                      number:
                        type: string
                        maxLength: 10
                        example: '8185551212'
                      countryCode:
                        type: string
                        maxLength: 1
                        example: '1'
                  email:
                    type: string
                    maxLength: 255
                    format: email
                    example: jordan.lee@classbooker.dev
                  address:
                    type: object
                    required:
                      - addressLine1
                      - city
                      - stateOrProvince
                      - postalCode
                      - country
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: 123 Main Street
                      addressLine2:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Apt 302
                      city:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Boulder
                      stateOrProvince:
                        type: string
                        maxLength: 2
                        example: CO
                      postalCode:
                        type: string
                        maxLength: 5
                        example: '80301'
                      country:
                        type: string
                        maxLength: 2
                        example: US
                  birthDateProvided:
                    type: boolean
                    description: Indicates whether this representative's birth date has been provided.
                  governmentIDProvided:
                    type: boolean
                    description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                  responsibilities:
                    type: object
                    properties:
                      isController:
                        type: boolean
                        description: Indicates whether this individual has significant management responsibilities within the business.
                      isOwner:
                        type: boolean
                        description: |-
                          If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                          business. If the representative does not own at least 25% of the business, this field should be `false`.
                      ownershipPercentage:
                        type: integer
                        description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                        example: 38
                      jobTitle:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: CEO
                    description: Describes the job responsibilities of a business representative.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                description: Describes a business 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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Representatives
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getRepresentative
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.representatives.get({
                accountID: "071b8a57-e691-4e4b-9143-75f1a828ce9b",
                representativeID: "00d87070-b167-48e6-be2f-198b5e1556c4",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getRepresentative
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->representatives->get(
                accountID: '071b8a57-e691-4e4b-9143-75f1a828ce9b',
                representativeID: '00d87070-b167-48e6-be2f-198b5e1556c4'

            );

            if ($response->representative !== null) {
                // handle response
            }
        - lang: python
          label: getRepresentative
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.representatives.get(account_id="071b8a57-e691-4e4b-9143-75f1a828ce9b", representative_id="00d87070-b167-48e6-be2f-198b5e1556c4")

                # Handle response
                print(res)
        - lang: java
          label: getRepresentative
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetRepresentativeResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetRepresentativeResponse res = sdk.representatives().get()
                            .accountID("071b8a57-e691-4e4b-9143-75f1a828ce9b")
                            .representativeID("00d87070-b167-48e6-be2f-198b5e1556c4")
                            .call();

                    if (res.representative().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getRepresentative
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.representatives.get(account_id: '071b8a57-e691-4e4b-9143-75f1a828ce9b', representative_id: '00d87070-b167-48e6-be2f-198b5e1556c4')

            unless res.representative.nil?
              # handle response
            end
    patch:
      operationId: updateRepresentative
      description: |-
        If a representative's information has changed you can patch the information associated with a specific representative ID. 
        Read our [business representatives guide](https://docs.moov.io/guides/accounts/requirements/business-representatives/) to learn more.

        When **can** profile data be updated:

        - For unverified representatives, all profile data can be edited.
        - During the verification process, missing or incomplete profile data can be edited.
        - Verified representatives can only add missing profile data.

        When **can't** profile data be updated:

        - Verified representatives cannot change any existing profile data.

        If you need to update information in a locked state, please contact Moov support.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/representatives.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: ID of the account.
          schema:
            type: string
            format: uuid
        - name: representativeID
          in: path
          required: true
          description: ID of the representative.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - representativeID
                  - name
                  - createdOn
                  - updatedOn
                properties:
                  representativeID:
                    type: string
                    format: uuid
                    description: Unique identifier for this representative.
                  name:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's first given name.
                        example: Jordan
                      middleName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's second given name, if any.
                        example: Reese
                      lastName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's family name.
                        example: Lee
                      suffix:
                        type: string
                        maxLength: 20
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: Suffix of a given name.
                        example: Jr
                  phone:
                    type: object
                    properties:
                      number:
                        type: string
                        maxLength: 10
                        example: '8185551212'
                      countryCode:
                        type: string
                        maxLength: 1
                        example: '1'
                  email:
                    type: string
                    maxLength: 255
                    format: email
                    example: jordan.lee@classbooker.dev
                  address:
                    type: object
                    required:
                      - addressLine1
                      - city
                      - stateOrProvince
                      - postalCode
                      - country
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: 123 Main Street
                      addressLine2:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Apt 302
                      city:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Boulder
                      stateOrProvince:
                        type: string
                        maxLength: 2
                        example: CO
                      postalCode:
                        type: string
                        maxLength: 5
                        example: '80301'
                      country:
                        type: string
                        maxLength: 2
                        example: US
                  birthDateProvided:
                    type: boolean
                    description: Indicates whether this representative's birth date has been provided.
                  governmentIDProvided:
                    type: boolean
                    description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                  responsibilities:
                    type: object
                    properties:
                      isController:
                        type: boolean
                        description: Indicates whether this individual has significant management responsibilities within the business.
                      isOwner:
                        type: boolean
                        description: |-
                          If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                          business. If the representative does not own at least 25% of the business, this field should be `false`.
                      ownershipPercentage:
                        type: integer
                        description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                        example: 38
                      jobTitle:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: CEO
                    description: Describes the job responsibilities of a business representative.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                description: Describes a business 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Representatives
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: object
                  properties:
                    firstName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's first given name.
                      example: Jordan
                    middleName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's second given name, if any.
                      example: Reese
                    lastName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's family name.
                      example: Lee
                    suffix:
                      type: string
                      maxLength: 20
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: Suffix of a given name.
                      example: Jr
                phone:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                  nullable: true
                email:
                  type: object
                  allOf:
                    - type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                  nullable: true
                address:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                  nullable: true
                birthDate:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        day:
                          type: integer
                          example: 9
                        month:
                          type: integer
                          example: 11
                        year:
                          type: integer
                          example: 1989
                  nullable: true
                governmentID:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        ssn:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                        itin:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                  nullable: true
                responsibilities:
                  type: object
                  allOf:
                    - type: object
                      properties:
                        isController:
                          type: boolean
                          description: Indicates whether this individual has significant management responsibilities within the business.
                        isOwner:
                          type: boolean
                          description: |-
                            If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                            business. If the representative does not own at least 25% of the business, this field should be `false`.
                        ownershipPercentage:
                          type: integer
                          description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                          example: 38
                        jobTitle:
                          type: string
                          maxLength: 64
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: CEO
                      description: Describes the job responsibilities of a business representative.
                  nullable: true
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateRepresentative
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.representatives.update({
                accountID: "76647e2b-97ea-4551-8275-7153219f3317",
                representativeID: "e89d3d0d-fbe3-4df6-8b18-d7cbcb761161",
                updateRepresentative: {
                  name: {
                    firstName: "Jordan",
                    middleName: "Reese",
                    lastName: "Lee",
                    suffix: "Jr",
                  },
                  phone: {
                    number: "8185551212",
                    countryCode: "1",
                  },
                  address: {
                    addressLine1: "123 Main Street",
                    addressLine2: "Apt 302",
                    city: "Boulder",
                    stateOrProvince: "CO",
                    postalCode: "80301",
                    country: "US",
                  },
                  birthDate: null,
                  responsibilities: {
                    ownershipPercentage: 38,
                    jobTitle: "CEO",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateRepresentative
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateRepresentative = new Components\UpdateRepresentative(
                name: new Components\IndividualNameUpdate(
                    firstName: 'Jordan',
                    middleName: 'Reese',
                    lastName: 'Lee',
                    suffix: 'Jr',
                ),
                phone: new Components\Phone(
                    number: '8185551212',
                    countryCode: '1',
                ),
                address: new Components\UpdateRepresentativeAddress(
                    addressLine1: '123 Main Street',
                    addressLine2: 'Apt 302',
                    city: 'Boulder',
                    stateOrProvince: 'CO',
                    postalCode: '80301',
                    country: 'US',
                ),
                birthDate: null,
                responsibilities: new Components\Responsibilities(
                    ownershipPercentage: 38,
                    jobTitle: 'CEO',
                ),
            );

            $response = $sdk->representatives->update(
                accountID: '76647e2b-97ea-4551-8275-7153219f3317',
                representativeID: 'e89d3d0d-fbe3-4df6-8b18-d7cbcb761161',
                updateRepresentative: $updateRepresentative

            );

            if ($response->representative !== null) {
                // handle response
            }
        - lang: python
          label: updateRepresentative
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.representatives.update(account_id="76647e2b-97ea-4551-8275-7153219f3317", representative_id="e89d3d0d-fbe3-4df6-8b18-d7cbcb761161", name={
                    "first_name": "Jordan",
                    "middle_name": "Reese",
                    "last_name": "Lee",
                    "suffix": "Jr",
                }, phone={
                    "number": "8185551212",
                    "country_code": "1",
                }, address={
                    "address_line1": "123 Main Street",
                    "address_line2": "Apt 302",
                    "city": "Boulder",
                    "state_or_province": "CO",
                    "postal_code": "80301",
                    "country": "US",
                }, birth_date=None, responsibilities={
                    "ownership_percentage": 38,
                    "job_title": "CEO",
                })

                # Handle response
                print(res)
        - lang: java
          label: updateRepresentative
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.UpdateRepresentativeResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateRepresentativeResponse res = sdk.representatives().update()
                            .accountID("76647e2b-97ea-4551-8275-7153219f3317")
                            .representativeID("e89d3d0d-fbe3-4df6-8b18-d7cbcb761161")
                            .updateRepresentative(UpdateRepresentative.builder()
                                .name(IndividualNameUpdate.builder()
                                    .firstName("Jordan")
                                    .middleName("Reese")
                                    .lastName("Lee")
                                    .suffix("Jr")
                                    .build())
                                .phone(Phone.builder()
                                    .number("8185551212")
                                    .countryCode("1")
                                    .build())
                                .address(UpdateRepresentativeAddress.builder()
                                    .addressLine1("123 Main Street")
                                    .addressLine2("Apt 302")
                                    .city("Boulder")
                                    .stateOrProvince("CO")
                                    .postalCode("80301")
                                    .country("US")
                                    .build())
                                .birthDate(null)
                                .responsibilities(Responsibilities.builder()
                                    .ownershipPercentage(38L)
                                    .jobTitle("CEO")
                                    .build())
                                .build())
                            .call();

                    if (res.representative().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateRepresentative
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.representatives.update(account_id: '76647e2b-97ea-4551-8275-7153219f3317', representative_id: 'e89d3d0d-fbe3-4df6-8b18-d7cbcb761161', update_representative: Models::Components::UpdateRepresentative.new(
              name: Models::Components::IndividualNameUpdate.new(
                first_name: 'Jordan',
                middle_name: 'Reese',
                last_name: 'Lee',
                suffix: 'Jr',
              ),
              phone: Models::Components::Phone.new(
                number: '8185551212',
                country_code: '1',
              ),
              address: Models::Components::UpdateRepresentativeAddress.new(
                address_line1: '123 Main Street',
                address_line2: 'Apt 302',
                city: 'Boulder',
                state_or_province: 'CO',
                postal_code: '80301',
                country: 'US',
              ),
              birth_date: nil,
              responsibilities: Models::Components::Responsibilities.new(
                ownership_percentage: 38,
                job_title: 'CEO',
              ),
            ))

            unless res.representative.nil?
              # handle response
            end
  /accounts/{accountID}/schedules:
    post:
      operationId: createSchedule
      description: |-
        Describes the schedule to create or modify.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: Account ID of the account that will run the transfer.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - destinationAccountID
                  - mode
                  - ownerAccountID
                  - partnerAccountID
                  - scheduleID
                  - sourceAccountID
                  - createdOn
                  - updatedOn
                properties:
                  description:
                    type: string
                    description: Simple description to place on the transfer.
                  destinationAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  occurrences:
                    type: array
                    items:
                      type: object
                      required:
                        - runOn
                        - runTransfer
                      properties:
                        scheduleID:
                          type: string
                          format: uuid
                        occurrenceID:
                          type: string
                          format: uuid
                        mode:
                          allOf:
                            - type: string
                              enum:
                                - sandbox
                                - production
                              description: The operating mode for an account.
                              example: production
                          description: Sandbox or production account mode of this schedule.
                        generated:
                          type: boolean
                          description: True if this was generated by a RRule.
                        indefinite:
                          type: boolean
                          description: True if the RRule set runs indefinitely.
                        canceledOn:
                          type: string
                          format: date-time
                        runOn:
                          type: string
                          format: date-time
                        runTransfer:
                          type: object
                          required:
                            - amount
                            - destination
                            - partnerAccountID
                            - source
                            - description
                          properties:
                            amount:
                              type: object
                              required:
                                - currency
                                - value
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                value:
                                  type: integer
                                  format: int64
                                  description: |-
                                    Quantity in the smallest unit of the specified currency. 

                                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                  example: 1204
                            destination:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            partnerAccountID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            source:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            description:
                              type: string
                              description: Simple description to place on the transfer.
                          description: Defines the attributes of a transfer.
                        ranOn:
                          type: string
                          format: date-time
                        ranTransferID:
                          type: string
                          format: uuid
                        status:
                          type: string
                          enum:
                            - pending
                            - failed
                            - completed
                          description: Status of the completed occurrence.
                        error:
                          type: object
                          properties:
                            message:
                              type: string
                          description: Contains details on why the occurrence errored.
                  ownerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  partnerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  recur:
                    type: object
                    required:
                      - recurrenceRule
                      - runTransfer
                    properties:
                      recurrenceRule:
                        type: string
                        description: |2-
                            RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                            Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                      runTransfer:
                        type: object
                        required:
                          - amount
                          - destination
                          - partnerAccountID
                          - source
                          - description
                        properties:
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          destination:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          partnerAccountID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          source:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          description:
                            type: string
                            description: Simple description to place on the transfer.
                        description: Defines the attributes of a transfer.
                      indefinite:
                        type: boolean
                        description: True if the RRule set runs indefinitely.
                      start:
                        type: string
                        format: date-time
                        example: '2009-11-10T23:00:00Z'
                    description: Defines configuration for recurring transfers.
                  scheduleID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  sourceAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  occurrences:
                    type: object
                    additionalProperties:
                      type: string
                  recur:
                    type: string
                  description:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: Simple description of what the schedule is.
                occurrences:
                  type: array
                  items:
                    type: object
                    properties:
                      canceled:
                        type: boolean
                        description: If set to true, will cancel the occurrence. If set false will resume the occurrence. If unset leaves the value unchanged.
                      occurrenceID:
                        type: string
                        format: uuid
                        description: |2-
                            If set this defines what occurrence to modify, if invalid will fail the request. 
                            If null or "" it defines to add a new occurrence.
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      runOn:
                        type: string
                        format: date-time
                        description: Timestamp to run the transfer after. Value must be into the future.
                        example: '2009-11-10T23:00:00Z'
                      runTransfer:
                        type: object
                        required:
                          - amount
                          - destination
                          - partnerAccountID
                          - source
                          - description
                        properties:
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          destination:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          partnerAccountID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          source:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          description:
                            type: string
                            description: Simple description to place on the transfer.
                        description: Defines the attributes of a transfer.
                    description: Occurrences to either create or modify.
                recur:
                  type: object
                  required:
                    - recurrenceRule
                    - runTransfer
                  properties:
                    recurrenceRule:
                      type: string
                      description: |2-
                          RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                          Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                    runTransfer:
                      type: object
                      required:
                        - amount
                        - destination
                        - partnerAccountID
                        - source
                        - description
                      properties:
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        destination:
                          type: object
                          required:
                            - paymentMethodID
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            achDetails:
                              type: object
                              properties:
                                companyEntryDescription:
                                  type: string
                                  minLength: 4
                                  maxLength: 10
                                  description: An optional override of the default NACHA company entry description for a transfer.
                                  example: Gym dues
                                originatingCompanyName:
                                  type: string
                                  minLength: 4
                                  maxLength: 16
                                  description: An optional override of the default NACHA company name for a transfer.
                                  example: Whole Body Fit
                            cardDetails:
                              type: object
                              properties:
                                dynamicDescriptor:
                                  type: string
                                  minLength: 4
                                  maxLength: 22
                                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                  example: WhlBdy *Yoga 11-12
                        partnerAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        source:
                          type: object
                          required:
                            - paymentMethodID
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            achDetails:
                              type: object
                              properties:
                                companyEntryDescription:
                                  type: string
                                  minLength: 4
                                  maxLength: 10
                                  description: An optional override of the default NACHA company entry description for a transfer.
                                  example: Gym dues
                                originatingCompanyName:
                                  type: string
                                  minLength: 4
                                  maxLength: 16
                                  description: An optional override of the default NACHA company name for a transfer.
                                  example: Whole Body Fit
                            cardDetails:
                              type: object
                              properties:
                                dynamicDescriptor:
                                  type: string
                                  minLength: 4
                                  maxLength: 22
                                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                  example: WhlBdy *Yoga 11-12
                        description:
                          type: string
                          description: Simple description to place on the transfer.
                      description: Defines the attributes of a transfer.
                    indefinite:
                      type: boolean
                      description: True if the RRule set runs indefinitely.
                    start:
                      type: string
                      format: date-time
                      example: '2009-11-10T23:00:00Z'
                  description: Defines configuration for recurring transfers.
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createSchedule
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.create({
                accountID: "8b64fef5-c389-40d5-838f-d6ae10e70162",
                upsertSchedule: {
                  occurrences: [
                    {
                      occurrenceID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                      runOn: new Date("2009-11-10T23:00:00Z"),
                      runTransfer: {
                        amount: {
                          currency: "USD",
                          value: 1204,
                        },
                        destination: {
                          paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                          achDetails: {
                            companyEntryDescription: "Gym dues",
                            originatingCompanyName: "Whole Body Fit",
                          },
                          cardDetails: {
                            dynamicDescriptor: "WhlBdy *Yoga 11-12",
                          },
                        },
                        partnerAccountID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        source: {
                          paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                          achDetails: {
                            companyEntryDescription: "Gym dues",
                            originatingCompanyName: "Whole Body Fit",
                          },
                          cardDetails: {
                            dynamicDescriptor: "WhlBdy *Yoga 11-12",
                          },
                        },
                        description: "er mob marathon lest optimistically responsible",
                      },
                    },
                  ],
                  recur: {
                    recurrenceRule: "<value>",
                    runTransfer: {
                      amount: {
                        currency: "USD",
                        value: 1204,
                      },
                      destination: {
                        paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        achDetails: {
                          companyEntryDescription: "Gym dues",
                          originatingCompanyName: "Whole Body Fit",
                        },
                        cardDetails: {
                          dynamicDescriptor: "WhlBdy *Yoga 11-12",
                        },
                      },
                      partnerAccountID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                      source: {
                        paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        achDetails: {
                          companyEntryDescription: "Gym dues",
                          originatingCompanyName: "Whole Body Fit",
                        },
                        cardDetails: {
                          dynamicDescriptor: "WhlBdy *Yoga 11-12",
                        },
                      },
                      description: "er mob marathon lest optimistically responsible",
                    },
                    start: new Date("2009-11-10T23:00:00Z"),
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createSchedule
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Utils;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $upsertSchedule = new Components\UpsertSchedule(
                occurrences: [
                    new Components\Occurrence(
                        occurrenceID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                        runOn: Utils\Utils::parseDateTime('2009-11-10T23:00:00Z'),
                        runTransfer: new Components\RunTransfer(
                            amount: new Components\Amount(
                                currency: 'USD',
                                value: 1204,
                            ),
                            destination: new Components\SchedulePaymentMethod(
                                paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                                achDetails: new Components\AchDetails(
                                    companyEntryDescription: 'Gym dues',
                                    originatingCompanyName: 'Whole Body Fit',
                                ),
                                cardDetails: new Components\CardDetails(
                                    dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                                ),
                            ),
                            partnerAccountID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            source: new Components\SchedulePaymentMethod(
                                paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                                achDetails: new Components\AchDetails(
                                    companyEntryDescription: 'Gym dues',
                                    originatingCompanyName: 'Whole Body Fit',
                                ),
                                cardDetails: new Components\CardDetails(
                                    dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                                ),
                            ),
                            description: 'er mob marathon lest optimistically responsible',
                        ),
                    ),
                ],
                recur: new Components\Recur(
                    recurrenceRule: '<value>',
                    runTransfer: new Components\RunTransfer(
                        amount: new Components\Amount(
                            currency: 'USD',
                            value: 1204,
                        ),
                        destination: new Components\SchedulePaymentMethod(
                            paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            achDetails: new Components\AchDetails(
                                companyEntryDescription: 'Gym dues',
                                originatingCompanyName: 'Whole Body Fit',
                            ),
                            cardDetails: new Components\CardDetails(
                                dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                            ),
                        ),
                        partnerAccountID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                        source: new Components\SchedulePaymentMethod(
                            paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            achDetails: new Components\AchDetails(
                                companyEntryDescription: 'Gym dues',
                                originatingCompanyName: 'Whole Body Fit',
                            ),
                            cardDetails: new Components\CardDetails(
                                dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                            ),
                        ),
                        description: 'er mob marathon lest optimistically responsible',
                    ),
                    start: Utils\Utils::parseDateTime('2009-11-10T23:00:00Z'),
                ),
            );

            $response = $sdk->scheduling->create(
                accountID: '8b64fef5-c389-40d5-838f-d6ae10e70162',
                upsertSchedule: $upsertSchedule

            );

            if ($response->scheduleResponse !== null) {
                // handle response
            }
        - lang: python
          label: createSchedule
          source: |-
            from openapi import SDK, models
            from openapi.utils import parse_datetime


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.create(account_id="8b64fef5-c389-40d5-838f-d6ae10e70162", occurrences=[
                    models.Occurrence(
                        occurrence_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        run_on=parse_datetime("2009-11-10T23:00:00Z"),
                        run_transfer=models.RunTransfer(
                            amount=models.Amount(
                                currency="USD",
                                value=1204,
                            ),
                            destination=models.SchedulePaymentMethod(
                                payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                                ach_details=models.AchDetails(
                                    company_entry_description="Gym dues",
                                    originating_company_name="Whole Body Fit",
                                ),
                                card_details=models.CardDetails(
                                    dynamic_descriptor="WhlBdy *Yoga 11-12",
                                ),
                            ),
                            partner_account_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            source=models.SchedulePaymentMethod(
                                payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                                ach_details=models.AchDetails(
                                    company_entry_description="Gym dues",
                                    originating_company_name="Whole Body Fit",
                                ),
                                card_details=models.CardDetails(
                                    dynamic_descriptor="WhlBdy *Yoga 11-12",
                                ),
                            ),
                            description="er mob marathon lest optimistically responsible",
                        ),
                    ),
                ], recur=models.Recur(
                    recurrence_rule="<value>",
                    run_transfer=models.RunTransfer(
                        amount=models.Amount(
                            currency="USD",
                            value=1204,
                        ),
                        destination=models.SchedulePaymentMethod(
                            payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            ach_details=models.AchDetails(
                                company_entry_description="Gym dues",
                                originating_company_name="Whole Body Fit",
                            ),
                            card_details=models.CardDetails(
                                dynamic_descriptor="WhlBdy *Yoga 11-12",
                            ),
                        ),
                        partner_account_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        source=models.SchedulePaymentMethod(
                            payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            ach_details=models.AchDetails(
                                company_entry_description="Gym dues",
                                originating_company_name="Whole Body Fit",
                            ),
                            card_details=models.CardDetails(
                                dynamic_descriptor="WhlBdy *Yoga 11-12",
                            ),
                        ),
                        description="er mob marathon lest optimistically responsible",
                    ),
                    start=parse_datetime("2009-11-10T23:00:00Z"),
                ))

                # Handle response
                print(res)
        - lang: java
          label: createSchedule
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.time.OffsetDateTime;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.ScheduleValidationError;
            import org.openapis.openapi.models.operations.CreateScheduleResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, ScheduleValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateScheduleResponse res = sdk.scheduling().create()
                            .accountID("8b64fef5-c389-40d5-838f-d6ae10e70162")
                            .upsertSchedule(UpsertSchedule.builder()
                                .occurrences(List.of(
                                    Occurrence.builder()
                                        .occurrenceID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                        .runOn(OffsetDateTime.parse("2009-11-10T23:00:00Z"))
                                        .runTransfer(RunTransfer.builder()
                                            .amount(Amount.builder()
                                                .currency("USD")
                                                .value(1204L)
                                                .build())
                                            .destination(SchedulePaymentMethod.builder()
                                                .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                                .achDetails(AchDetails.builder()
                                                    .companyEntryDescription("Gym dues")
                                                    .originatingCompanyName("Whole Body Fit")
                                                    .build())
                                                .cardDetails(CardDetails.builder()
                                                    .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                    .build())
                                                .build())
                                            .partnerAccountID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .source(SchedulePaymentMethod.builder()
                                                .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                                .achDetails(AchDetails.builder()
                                                    .companyEntryDescription("Gym dues")
                                                    .originatingCompanyName("Whole Body Fit")
                                                    .build())
                                                .cardDetails(CardDetails.builder()
                                                    .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                    .build())
                                                .build())
                                            .description("er mob marathon lest optimistically responsible")
                                            .build())
                                        .build()))
                                .recur(Recur.builder()
                                    .recurrenceRule("<value>")
                                    .runTransfer(RunTransfer.builder()
                                        .amount(Amount.builder()
                                            .currency("USD")
                                            .value(1204L)
                                            .build())
                                        .destination(SchedulePaymentMethod.builder()
                                            .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .achDetails(AchDetails.builder()
                                                .companyEntryDescription("Gym dues")
                                                .originatingCompanyName("Whole Body Fit")
                                                .build())
                                            .cardDetails(CardDetails.builder()
                                                .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                .build())
                                            .build())
                                        .partnerAccountID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                        .source(SchedulePaymentMethod.builder()
                                            .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .achDetails(AchDetails.builder()
                                                .companyEntryDescription("Gym dues")
                                                .originatingCompanyName("Whole Body Fit")
                                                .build())
                                            .cardDetails(CardDetails.builder()
                                                .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                .build())
                                            .build())
                                        .description("er mob marathon lest optimistically responsible")
                                        .build())
                                    .start(OffsetDateTime.parse("2009-11-10T23:00:00Z"))
                                    .build())
                                .build())
                            .call();

                    if (res.scheduleResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createSchedule
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.scheduling.create(account_id: '8b64fef5-c389-40d5-838f-d6ae10e70162', upsert_schedule: Models::Components::UpsertSchedule.new(
              occurrences: [
                Models::Components::Occurrence.new(
                  occurrence_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                  run_on: DateTime.iso8601('2009-11-10T23:00:00Z'),
                  run_transfer: Models::Components::RunTransfer.new(
                    amount: Models::Components::Amount.new(
                      currency: 'USD',
                      value: 1204,
                    ),
                    destination: Models::Components::SchedulePaymentMethod.new(
                      payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                      ach_details: Models::Components::AchDetails.new(
                        company_entry_description: 'Gym dues',
                        originating_company_name: 'Whole Body Fit',
                      ),
                      card_details: Models::Components::CardDetails.new(
                        dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                      ),
                    ),
                    partner_account_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    source: Models::Components::SchedulePaymentMethod.new(
                      payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                      ach_details: Models::Components::AchDetails.new(
                        company_entry_description: 'Gym dues',
                        originating_company_name: 'Whole Body Fit',
                      ),
                      card_details: Models::Components::CardDetails.new(
                        dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                      ),
                    ),
                    description: 'er mob marathon lest optimistically responsible',
                  ),
                ),
              ],
              recur: Models::Components::Recur.new(
                recurrence_rule: '<value>',
                run_transfer: Models::Components::RunTransfer.new(
                  amount: Models::Components::Amount.new(
                    currency: 'USD',
                    value: 1204,
                  ),
                  destination: Models::Components::SchedulePaymentMethod.new(
                    payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    ach_details: Models::Components::AchDetails.new(
                      company_entry_description: 'Gym dues',
                      originating_company_name: 'Whole Body Fit',
                    ),
                    card_details: Models::Components::CardDetails.new(
                      dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                    ),
                  ),
                  partner_account_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                  source: Models::Components::SchedulePaymentMethod.new(
                    payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    ach_details: Models::Components::AchDetails.new(
                      company_entry_description: 'Gym dues',
                      originating_company_name: 'Whole Body Fit',
                    ),
                    card_details: Models::Components::CardDetails.new(
                      dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                    ),
                  ),
                  description: 'er mob marathon lest optimistically responsible',
                ),
                start: DateTime.iso8601('2009-11-10T23:00:00Z'),
              ),
            ))

            unless res.schedule_response.nil?
              # handle response
            end
    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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: hydrate
          in: query
          required: false
          schema:
            type: string
            enum:
              - accounts
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    sourceAccount:
                      type: object
                      required:
                        - accountID
                        - displayName
                      properties:
                        accountID:
                          type: string
                        displayName:
                          type: string
                        email:
                          type: string
                    destinationAccount:
                      type: object
                      required:
                        - accountID
                        - displayName
                      properties:
                        accountID:
                          type: string
                        displayName:
                          type: string
                        email:
                          type: string
                    partnerAccount:
                      type: object
                      required:
                        - accountID
                        - displayName
                      properties:
                        accountID:
                          type: string
                        displayName:
                          type: string
                        email:
                          type: string
                  allOf:
                    - type: object
                      required:
                        - destinationAccountID
                        - mode
                        - ownerAccountID
                        - partnerAccountID
                        - scheduleID
                        - sourceAccountID
                        - createdOn
                        - updatedOn
                      properties:
                        description:
                          type: string
                          description: Simple description to place on the transfer.
                        destinationAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        mode:
                          type: string
                          enum:
                            - sandbox
                            - production
                          description: The operating mode for an account.
                          example: production
                        occurrences:
                          type: array
                          items:
                            type: object
                            required:
                              - runOn
                              - runTransfer
                            properties:
                              scheduleID:
                                type: string
                                format: uuid
                              occurrenceID:
                                type: string
                                format: uuid
                              mode:
                                allOf:
                                  - type: string
                                    enum:
                                      - sandbox
                                      - production
                                    description: The operating mode for an account.
                                    example: production
                                description: Sandbox or production account mode of this schedule.
                              generated:
                                type: boolean
                                description: True if this was generated by a RRule.
                              indefinite:
                                type: boolean
                                description: True if the RRule set runs indefinitely.
                              canceledOn:
                                type: string
                                format: date-time
                              runOn:
                                type: string
                                format: date-time
                              runTransfer:
                                type: object
                                required:
                                  - amount
                                  - destination
                                  - partnerAccountID
                                  - source
                                  - description
                                properties:
                                  amount:
                                    type: object
                                    required:
                                      - currency
                                      - value
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      value:
                                        type: integer
                                        format: int64
                                        description: |-
                                          Quantity in the smallest unit of the specified currency. 

                                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                        example: 1204
                                  destination:
                                    type: object
                                    required:
                                      - paymentMethodID
                                    properties:
                                      paymentMethodID:
                                        type: string
                                        format: uuid
                                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                      achDetails:
                                        type: object
                                        properties:
                                          companyEntryDescription:
                                            type: string
                                            minLength: 4
                                            maxLength: 10
                                            description: An optional override of the default NACHA company entry description for a transfer.
                                            example: Gym dues
                                          originatingCompanyName:
                                            type: string
                                            minLength: 4
                                            maxLength: 16
                                            description: An optional override of the default NACHA company name for a transfer.
                                            example: Whole Body Fit
                                      cardDetails:
                                        type: object
                                        properties:
                                          dynamicDescriptor:
                                            type: string
                                            minLength: 4
                                            maxLength: 22
                                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                            example: WhlBdy *Yoga 11-12
                                  partnerAccountID:
                                    type: string
                                    format: uuid
                                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                  source:
                                    type: object
                                    required:
                                      - paymentMethodID
                                    properties:
                                      paymentMethodID:
                                        type: string
                                        format: uuid
                                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                      achDetails:
                                        type: object
                                        properties:
                                          companyEntryDescription:
                                            type: string
                                            minLength: 4
                                            maxLength: 10
                                            description: An optional override of the default NACHA company entry description for a transfer.
                                            example: Gym dues
                                          originatingCompanyName:
                                            type: string
                                            minLength: 4
                                            maxLength: 16
                                            description: An optional override of the default NACHA company name for a transfer.
                                            example: Whole Body Fit
                                      cardDetails:
                                        type: object
                                        properties:
                                          dynamicDescriptor:
                                            type: string
                                            minLength: 4
                                            maxLength: 22
                                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                            example: WhlBdy *Yoga 11-12
                                  description:
                                    type: string
                                    description: Simple description to place on the transfer.
                                description: Defines the attributes of a transfer.
                              ranOn:
                                type: string
                                format: date-time
                              ranTransferID:
                                type: string
                                format: uuid
                              status:
                                type: string
                                enum:
                                  - pending
                                  - failed
                                  - completed
                                description: Status of the completed occurrence.
                              error:
                                type: object
                                properties:
                                  message:
                                    type: string
                                description: Contains details on why the occurrence errored.
                        ownerAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        partnerAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        recur:
                          type: object
                          required:
                            - recurrenceRule
                            - runTransfer
                          properties:
                            recurrenceRule:
                              type: string
                              description: |2-
                                  RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                                  Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                            runTransfer:
                              type: object
                              required:
                                - amount
                                - destination
                                - partnerAccountID
                                - source
                                - description
                              properties:
                                amount:
                                  type: object
                                  required:
                                    - currency
                                    - value
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    value:
                                      type: integer
                                      format: int64
                                      description: |-
                                        Quantity in the smallest unit of the specified currency. 

                                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                      example: 1204
                                destination:
                                  type: object
                                  required:
                                    - paymentMethodID
                                  properties:
                                    paymentMethodID:
                                      type: string
                                      format: uuid
                                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                    achDetails:
                                      type: object
                                      properties:
                                        companyEntryDescription:
                                          type: string
                                          minLength: 4
                                          maxLength: 10
                                          description: An optional override of the default NACHA company entry description for a transfer.
                                          example: Gym dues
                                        originatingCompanyName:
                                          type: string
                                          minLength: 4
                                          maxLength: 16
                                          description: An optional override of the default NACHA company name for a transfer.
                                          example: Whole Body Fit
                                    cardDetails:
                                      type: object
                                      properties:
                                        dynamicDescriptor:
                                          type: string
                                          minLength: 4
                                          maxLength: 22
                                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                          example: WhlBdy *Yoga 11-12
                                partnerAccountID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                source:
                                  type: object
                                  required:
                                    - paymentMethodID
                                  properties:
                                    paymentMethodID:
                                      type: string
                                      format: uuid
                                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                    achDetails:
                                      type: object
                                      properties:
                                        companyEntryDescription:
                                          type: string
                                          minLength: 4
                                          maxLength: 10
                                          description: An optional override of the default NACHA company entry description for a transfer.
                                          example: Gym dues
                                        originatingCompanyName:
                                          type: string
                                          minLength: 4
                                          maxLength: 16
                                          description: An optional override of the default NACHA company name for a transfer.
                                          example: Whole Body Fit
                                    cardDetails:
                                      type: object
                                      properties:
                                        dynamicDescriptor:
                                          type: string
                                          minLength: 4
                                          maxLength: 22
                                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                          example: WhlBdy *Yoga 11-12
                                description:
                                  type: string
                                  description: Simple description to place on the transfer.
                              description: Defines the attributes of a transfer.
                            indefinite:
                              type: boolean
                              description: True if the RRule set runs indefinitely.
                            start:
                              type: string
                              format: date-time
                              example: '2009-11-10T23:00:00Z'
                          description: Defines configuration for recurring transfers.
                        scheduleID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        sourceAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        disabledOn:
                          type: string
                          format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listSchedules
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.list({
                skip: 60,
                count: 20,
                accountID: "b69f6366-984e-40f9-82a0-65335a43431d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listSchedules
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListSchedulesRequest(
                skip: 60,
                count: 20,
                accountID: 'b69f6366-984e-40f9-82a0-65335a43431d',
            );

            $response = $sdk->scheduling->list(
                request: $request
            );

            if ($response->scheduleListResponses !== null) {
                // handle response
            }
        - lang: python
          label: listSchedules
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.list(account_id="b69f6366-984e-40f9-82a0-65335a43431d", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listSchedules
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListSchedulesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListSchedulesResponse res = sdk.scheduling().list()
                            .skip(60L)
                            .count(20L)
                            .accountID("b69f6366-984e-40f9-82a0-65335a43431d")
                            .call();

                    if (res.scheduleListResponses().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listSchedules
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListSchedulesRequest.new(
              skip: 60,
              count: 20,
              account_id: 'b69f6366-984e-40f9-82a0-65335a43431d',
            )

            res = s.scheduling.list(request: req)

            unless res.schedule_list_responses.nil?
              # handle response
            end
  /accounts/{accountID}/schedules/{scheduleID}:
    put:
      operationId: updateSchedule
      description: |-
        Describes the schedule to modify.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: Account ID of the account that will run the transfer.
          schema:
            type: string
            format: uuid
        - name: scheduleID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - destinationAccountID
                  - mode
                  - ownerAccountID
                  - partnerAccountID
                  - scheduleID
                  - sourceAccountID
                  - createdOn
                  - updatedOn
                properties:
                  description:
                    type: string
                    description: Simple description to place on the transfer.
                  destinationAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  occurrences:
                    type: array
                    items:
                      type: object
                      required:
                        - runOn
                        - runTransfer
                      properties:
                        scheduleID:
                          type: string
                          format: uuid
                        occurrenceID:
                          type: string
                          format: uuid
                        mode:
                          allOf:
                            - type: string
                              enum:
                                - sandbox
                                - production
                              description: The operating mode for an account.
                              example: production
                          description: Sandbox or production account mode of this schedule.
                        generated:
                          type: boolean
                          description: True if this was generated by a RRule.
                        indefinite:
                          type: boolean
                          description: True if the RRule set runs indefinitely.
                        canceledOn:
                          type: string
                          format: date-time
                        runOn:
                          type: string
                          format: date-time
                        runTransfer:
                          type: object
                          required:
                            - amount
                            - destination
                            - partnerAccountID
                            - source
                            - description
                          properties:
                            amount:
                              type: object
                              required:
                                - currency
                                - value
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                value:
                                  type: integer
                                  format: int64
                                  description: |-
                                    Quantity in the smallest unit of the specified currency. 

                                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                  example: 1204
                            destination:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            partnerAccountID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            source:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            description:
                              type: string
                              description: Simple description to place on the transfer.
                          description: Defines the attributes of a transfer.
                        ranOn:
                          type: string
                          format: date-time
                        ranTransferID:
                          type: string
                          format: uuid
                        status:
                          type: string
                          enum:
                            - pending
                            - failed
                            - completed
                          description: Status of the completed occurrence.
                        error:
                          type: object
                          properties:
                            message:
                              type: string
                          description: Contains details on why the occurrence errored.
                  ownerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  partnerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  recur:
                    type: object
                    required:
                      - recurrenceRule
                      - runTransfer
                    properties:
                      recurrenceRule:
                        type: string
                        description: |2-
                            RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                            Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                      runTransfer:
                        type: object
                        required:
                          - amount
                          - destination
                          - partnerAccountID
                          - source
                          - description
                        properties:
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          destination:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          partnerAccountID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          source:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          description:
                            type: string
                            description: Simple description to place on the transfer.
                        description: Defines the attributes of a transfer.
                      indefinite:
                        type: boolean
                        description: True if the RRule set runs indefinitely.
                      start:
                        type: string
                        format: date-time
                        example: '2009-11-10T23:00:00Z'
                    description: Defines configuration for recurring transfers.
                  scheduleID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  sourceAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  occurrences:
                    type: object
                    additionalProperties:
                      type: string
                  recur:
                    type: string
                  description:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: Simple description of what the schedule is.
                occurrences:
                  type: array
                  items:
                    type: object
                    properties:
                      canceled:
                        type: boolean
                        description: If set to true, will cancel the occurrence. If set false will resume the occurrence. If unset leaves the value unchanged.
                      occurrenceID:
                        type: string
                        format: uuid
                        description: |2-
                            If set this defines what occurrence to modify, if invalid will fail the request. 
                            If null or "" it defines to add a new occurrence.
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      runOn:
                        type: string
                        format: date-time
                        description: Timestamp to run the transfer after. Value must be into the future.
                        example: '2009-11-10T23:00:00Z'
                      runTransfer:
                        type: object
                        required:
                          - amount
                          - destination
                          - partnerAccountID
                          - source
                          - description
                        properties:
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          destination:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          partnerAccountID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          source:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          description:
                            type: string
                            description: Simple description to place on the transfer.
                        description: Defines the attributes of a transfer.
                    description: Occurrences to either create or modify.
                recur:
                  type: object
                  required:
                    - recurrenceRule
                    - runTransfer
                  properties:
                    recurrenceRule:
                      type: string
                      description: |2-
                          RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                          Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                    runTransfer:
                      type: object
                      required:
                        - amount
                        - destination
                        - partnerAccountID
                        - source
                        - description
                      properties:
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        destination:
                          type: object
                          required:
                            - paymentMethodID
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            achDetails:
                              type: object
                              properties:
                                companyEntryDescription:
                                  type: string
                                  minLength: 4
                                  maxLength: 10
                                  description: An optional override of the default NACHA company entry description for a transfer.
                                  example: Gym dues
                                originatingCompanyName:
                                  type: string
                                  minLength: 4
                                  maxLength: 16
                                  description: An optional override of the default NACHA company name for a transfer.
                                  example: Whole Body Fit
                            cardDetails:
                              type: object
                              properties:
                                dynamicDescriptor:
                                  type: string
                                  minLength: 4
                                  maxLength: 22
                                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                  example: WhlBdy *Yoga 11-12
                        partnerAccountID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        source:
                          type: object
                          required:
                            - paymentMethodID
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            achDetails:
                              type: object
                              properties:
                                companyEntryDescription:
                                  type: string
                                  minLength: 4
                                  maxLength: 10
                                  description: An optional override of the default NACHA company entry description for a transfer.
                                  example: Gym dues
                                originatingCompanyName:
                                  type: string
                                  minLength: 4
                                  maxLength: 16
                                  description: An optional override of the default NACHA company name for a transfer.
                                  example: Whole Body Fit
                            cardDetails:
                              type: object
                              properties:
                                dynamicDescriptor:
                                  type: string
                                  minLength: 4
                                  maxLength: 22
                                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                  example: WhlBdy *Yoga 11-12
                        description:
                          type: string
                          description: Simple description to place on the transfer.
                      description: Defines the attributes of a transfer.
                    indefinite:
                      type: boolean
                      description: True if the RRule set runs indefinitely.
                    start:
                      type: string
                      format: date-time
                      example: '2009-11-10T23:00:00Z'
                  description: Defines configuration for recurring transfers.
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateSchedule
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.update({
                accountID: "7becca38-ec01-4fcf-8cf7-c187c7cf6a7a",
                scheduleID: "11b29a8a-d60e-4ec9-900e-7fda62cd2415",
                upsertSchedule: {
                  occurrences: [
                    {
                      occurrenceID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                      runOn: new Date("2009-11-10T23:00:00Z"),
                      runTransfer: {
                        amount: {
                          currency: "USD",
                          value: 1204,
                        },
                        destination: {
                          paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                          achDetails: {
                            companyEntryDescription: "Gym dues",
                            originatingCompanyName: "Whole Body Fit",
                          },
                          cardDetails: {
                            dynamicDescriptor: "WhlBdy *Yoga 11-12",
                          },
                        },
                        partnerAccountID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        source: {
                          paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                          achDetails: {
                            companyEntryDescription: "Gym dues",
                            originatingCompanyName: "Whole Body Fit",
                          },
                          cardDetails: {
                            dynamicDescriptor: "WhlBdy *Yoga 11-12",
                          },
                        },
                        description: "yum who queasily bemuse ick dull almighty incidentally er despite",
                      },
                    },
                  ],
                  recur: {
                    recurrenceRule: "<value>",
                    runTransfer: {
                      amount: {
                        currency: "USD",
                        value: 1204,
                      },
                      destination: {
                        paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        achDetails: {
                          companyEntryDescription: "Gym dues",
                          originatingCompanyName: "Whole Body Fit",
                        },
                        cardDetails: {
                          dynamicDescriptor: "WhlBdy *Yoga 11-12",
                        },
                      },
                      partnerAccountID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                      source: {
                        paymentMethodID: "c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        achDetails: {
                          companyEntryDescription: "Gym dues",
                          originatingCompanyName: "Whole Body Fit",
                        },
                        cardDetails: {
                          dynamicDescriptor: "WhlBdy *Yoga 11-12",
                        },
                      },
                      description: "yum who queasily bemuse ick dull almighty incidentally er despite",
                    },
                    start: new Date("2009-11-10T23:00:00Z"),
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateSchedule
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Utils;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $upsertSchedule = new Components\UpsertSchedule(
                occurrences: [
                    new Components\Occurrence(
                        occurrenceID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                        runOn: Utils\Utils::parseDateTime('2009-11-10T23:00:00Z'),
                        runTransfer: new Components\RunTransfer(
                            amount: new Components\Amount(
                                currency: 'USD',
                                value: 1204,
                            ),
                            destination: new Components\SchedulePaymentMethod(
                                paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                                achDetails: new Components\AchDetails(
                                    companyEntryDescription: 'Gym dues',
                                    originatingCompanyName: 'Whole Body Fit',
                                ),
                                cardDetails: new Components\CardDetails(
                                    dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                                ),
                            ),
                            partnerAccountID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            source: new Components\SchedulePaymentMethod(
                                paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                                achDetails: new Components\AchDetails(
                                    companyEntryDescription: 'Gym dues',
                                    originatingCompanyName: 'Whole Body Fit',
                                ),
                                cardDetails: new Components\CardDetails(
                                    dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                                ),
                            ),
                            description: 'yum who queasily bemuse ick dull almighty incidentally er despite',
                        ),
                    ),
                ],
                recur: new Components\Recur(
                    recurrenceRule: '<value>',
                    runTransfer: new Components\RunTransfer(
                        amount: new Components\Amount(
                            currency: 'USD',
                            value: 1204,
                        ),
                        destination: new Components\SchedulePaymentMethod(
                            paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            achDetails: new Components\AchDetails(
                                companyEntryDescription: 'Gym dues',
                                originatingCompanyName: 'Whole Body Fit',
                            ),
                            cardDetails: new Components\CardDetails(
                                dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                            ),
                        ),
                        partnerAccountID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                        source: new Components\SchedulePaymentMethod(
                            paymentMethodID: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                            achDetails: new Components\AchDetails(
                                companyEntryDescription: 'Gym dues',
                                originatingCompanyName: 'Whole Body Fit',
                            ),
                            cardDetails: new Components\CardDetails(
                                dynamicDescriptor: 'WhlBdy *Yoga 11-12',
                            ),
                        ),
                        description: 'yum who queasily bemuse ick dull almighty incidentally er despite',
                    ),
                    start: Utils\Utils::parseDateTime('2009-11-10T23:00:00Z'),
                ),
            );

            $response = $sdk->scheduling->update(
                accountID: '7becca38-ec01-4fcf-8cf7-c187c7cf6a7a',
                scheduleID: '11b29a8a-d60e-4ec9-900e-7fda62cd2415',
                upsertSchedule: $upsertSchedule

            );

            if ($response->scheduleResponse !== null) {
                // handle response
            }
        - lang: python
          label: updateSchedule
          source: |-
            from openapi import SDK, models
            from openapi.utils import parse_datetime


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.update(account_id="7becca38-ec01-4fcf-8cf7-c187c7cf6a7a", schedule_id="11b29a8a-d60e-4ec9-900e-7fda62cd2415", occurrences=[
                    models.Occurrence(
                        occurrence_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        run_on=parse_datetime("2009-11-10T23:00:00Z"),
                        run_transfer=models.RunTransfer(
                            amount=models.Amount(
                                currency="USD",
                                value=1204,
                            ),
                            destination=models.SchedulePaymentMethod(
                                payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                                ach_details=models.AchDetails(
                                    company_entry_description="Gym dues",
                                    originating_company_name="Whole Body Fit",
                                ),
                                card_details=models.CardDetails(
                                    dynamic_descriptor="WhlBdy *Yoga 11-12",
                                ),
                            ),
                            partner_account_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            source=models.SchedulePaymentMethod(
                                payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                                ach_details=models.AchDetails(
                                    company_entry_description="Gym dues",
                                    originating_company_name="Whole Body Fit",
                                ),
                                card_details=models.CardDetails(
                                    dynamic_descriptor="WhlBdy *Yoga 11-12",
                                ),
                            ),
                            description="yum who queasily bemuse ick dull almighty incidentally er despite",
                        ),
                    ),
                ], recur=models.Recur(
                    recurrence_rule="<value>",
                    run_transfer=models.RunTransfer(
                        amount=models.Amount(
                            currency="USD",
                            value=1204,
                        ),
                        destination=models.SchedulePaymentMethod(
                            payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            ach_details=models.AchDetails(
                                company_entry_description="Gym dues",
                                originating_company_name="Whole Body Fit",
                            ),
                            card_details=models.CardDetails(
                                dynamic_descriptor="WhlBdy *Yoga 11-12",
                            ),
                        ),
                        partner_account_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                        source=models.SchedulePaymentMethod(
                            payment_method_id="c520f1b9-0ba7-42f5-b977-248cdbe41c69",
                            ach_details=models.AchDetails(
                                company_entry_description="Gym dues",
                                originating_company_name="Whole Body Fit",
                            ),
                            card_details=models.CardDetails(
                                dynamic_descriptor="WhlBdy *Yoga 11-12",
                            ),
                        ),
                        description="yum who queasily bemuse ick dull almighty incidentally er despite",
                    ),
                    start=parse_datetime("2009-11-10T23:00:00Z"),
                ))

                # Handle response
                print(res)
        - lang: java
          label: updateSchedule
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.time.OffsetDateTime;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.ScheduleValidationError;
            import org.openapis.openapi.models.operations.UpdateScheduleResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, ScheduleValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateScheduleResponse res = sdk.scheduling().update()
                            .accountID("7becca38-ec01-4fcf-8cf7-c187c7cf6a7a")
                            .scheduleID("11b29a8a-d60e-4ec9-900e-7fda62cd2415")
                            .upsertSchedule(UpsertSchedule.builder()
                                .occurrences(List.of(
                                    Occurrence.builder()
                                        .occurrenceID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                        .runOn(OffsetDateTime.parse("2009-11-10T23:00:00Z"))
                                        .runTransfer(RunTransfer.builder()
                                            .amount(Amount.builder()
                                                .currency("USD")
                                                .value(1204L)
                                                .build())
                                            .destination(SchedulePaymentMethod.builder()
                                                .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                                .achDetails(AchDetails.builder()
                                                    .companyEntryDescription("Gym dues")
                                                    .originatingCompanyName("Whole Body Fit")
                                                    .build())
                                                .cardDetails(CardDetails.builder()
                                                    .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                    .build())
                                                .build())
                                            .partnerAccountID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .source(SchedulePaymentMethod.builder()
                                                .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                                .achDetails(AchDetails.builder()
                                                    .companyEntryDescription("Gym dues")
                                                    .originatingCompanyName("Whole Body Fit")
                                                    .build())
                                                .cardDetails(CardDetails.builder()
                                                    .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                    .build())
                                                .build())
                                            .description("yum who queasily bemuse ick dull almighty incidentally er despite")
                                            .build())
                                        .build()))
                                .recur(Recur.builder()
                                    .recurrenceRule("<value>")
                                    .runTransfer(RunTransfer.builder()
                                        .amount(Amount.builder()
                                            .currency("USD")
                                            .value(1204L)
                                            .build())
                                        .destination(SchedulePaymentMethod.builder()
                                            .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .achDetails(AchDetails.builder()
                                                .companyEntryDescription("Gym dues")
                                                .originatingCompanyName("Whole Body Fit")
                                                .build())
                                            .cardDetails(CardDetails.builder()
                                                .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                .build())
                                            .build())
                                        .partnerAccountID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                        .source(SchedulePaymentMethod.builder()
                                            .paymentMethodID("c520f1b9-0ba7-42f5-b977-248cdbe41c69")
                                            .achDetails(AchDetails.builder()
                                                .companyEntryDescription("Gym dues")
                                                .originatingCompanyName("Whole Body Fit")
                                                .build())
                                            .cardDetails(CardDetails.builder()
                                                .dynamicDescriptor("WhlBdy *Yoga 11-12")
                                                .build())
                                            .build())
                                        .description("yum who queasily bemuse ick dull almighty incidentally er despite")
                                        .build())
                                    .start(OffsetDateTime.parse("2009-11-10T23:00:00Z"))
                                    .build())
                                .build())
                            .call();

                    if (res.scheduleResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateSchedule
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.scheduling.update(account_id: '7becca38-ec01-4fcf-8cf7-c187c7cf6a7a', schedule_id: '11b29a8a-d60e-4ec9-900e-7fda62cd2415', upsert_schedule: Models::Components::UpsertSchedule.new(
              occurrences: [
                Models::Components::Occurrence.new(
                  occurrence_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                  run_on: DateTime.iso8601('2009-11-10T23:00:00Z'),
                  run_transfer: Models::Components::RunTransfer.new(
                    amount: Models::Components::Amount.new(
                      currency: 'USD',
                      value: 1204,
                    ),
                    destination: Models::Components::SchedulePaymentMethod.new(
                      payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                      ach_details: Models::Components::AchDetails.new(
                        company_entry_description: 'Gym dues',
                        originating_company_name: 'Whole Body Fit',
                      ),
                      card_details: Models::Components::CardDetails.new(
                        dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                      ),
                    ),
                    partner_account_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    source: Models::Components::SchedulePaymentMethod.new(
                      payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                      ach_details: Models::Components::AchDetails.new(
                        company_entry_description: 'Gym dues',
                        originating_company_name: 'Whole Body Fit',
                      ),
                      card_details: Models::Components::CardDetails.new(
                        dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                      ),
                    ),
                    description: 'yum who queasily bemuse ick dull almighty incidentally er despite',
                  ),
                ),
              ],
              recur: Models::Components::Recur.new(
                recurrence_rule: '<value>',
                run_transfer: Models::Components::RunTransfer.new(
                  amount: Models::Components::Amount.new(
                    currency: 'USD',
                    value: 1204,
                  ),
                  destination: Models::Components::SchedulePaymentMethod.new(
                    payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    ach_details: Models::Components::AchDetails.new(
                      company_entry_description: 'Gym dues',
                      originating_company_name: 'Whole Body Fit',
                    ),
                    card_details: Models::Components::CardDetails.new(
                      dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                    ),
                  ),
                  partner_account_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                  source: Models::Components::SchedulePaymentMethod.new(
                    payment_method_id: 'c520f1b9-0ba7-42f5-b977-248cdbe41c69',
                    ach_details: Models::Components::AchDetails.new(
                      company_entry_description: 'Gym dues',
                      originating_company_name: 'Whole Body Fit',
                    ),
                    card_details: Models::Components::CardDetails.new(
                      dynamic_descriptor: 'WhlBdy *Yoga 11-12',
                    ),
                  ),
                  description: 'yum who queasily bemuse ick dull almighty incidentally er despite',
                ),
                start: DateTime.iso8601('2009-11-10T23:00:00Z'),
              ),
            ))

            unless res.schedule_response.nil?
              # handle response
            end
    get:
      operationId: getSchedules
      description: |-
        Describes a schedule associated with an account. Requires at least 1 occurrence or recurTransfer to be specified.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: scheduleID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - destinationAccountID
                  - mode
                  - ownerAccountID
                  - partnerAccountID
                  - scheduleID
                  - sourceAccountID
                  - createdOn
                  - updatedOn
                properties:
                  description:
                    type: string
                    description: Simple description to place on the transfer.
                  destinationAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  mode:
                    type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                  occurrences:
                    type: array
                    items:
                      type: object
                      required:
                        - runOn
                        - runTransfer
                      properties:
                        scheduleID:
                          type: string
                          format: uuid
                        occurrenceID:
                          type: string
                          format: uuid
                        mode:
                          allOf:
                            - type: string
                              enum:
                                - sandbox
                                - production
                              description: The operating mode for an account.
                              example: production
                          description: Sandbox or production account mode of this schedule.
                        generated:
                          type: boolean
                          description: True if this was generated by a RRule.
                        indefinite:
                          type: boolean
                          description: True if the RRule set runs indefinitely.
                        canceledOn:
                          type: string
                          format: date-time
                        runOn:
                          type: string
                          format: date-time
                        runTransfer:
                          type: object
                          required:
                            - amount
                            - destination
                            - partnerAccountID
                            - source
                            - description
                          properties:
                            amount:
                              type: object
                              required:
                                - currency
                                - value
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                value:
                                  type: integer
                                  format: int64
                                  description: |-
                                    Quantity in the smallest unit of the specified currency. 

                                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                  example: 1204
                            destination:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            partnerAccountID:
                              type: string
                              format: uuid
                              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                            source:
                              type: object
                              required:
                                - paymentMethodID
                              properties:
                                paymentMethodID:
                                  type: string
                                  format: uuid
                                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                                achDetails:
                                  type: object
                                  properties:
                                    companyEntryDescription:
                                      type: string
                                      minLength: 4
                                      maxLength: 10
                                      description: An optional override of the default NACHA company entry description for a transfer.
                                      example: Gym dues
                                    originatingCompanyName:
                                      type: string
                                      minLength: 4
                                      maxLength: 16
                                      description: An optional override of the default NACHA company name for a transfer.
                                      example: Whole Body Fit
                                cardDetails:
                                  type: object
                                  properties:
                                    dynamicDescriptor:
                                      type: string
                                      minLength: 4
                                      maxLength: 22
                                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                      example: WhlBdy *Yoga 11-12
                            description:
                              type: string
                              description: Simple description to place on the transfer.
                          description: Defines the attributes of a transfer.
                        ranOn:
                          type: string
                          format: date-time
                        ranTransferID:
                          type: string
                          format: uuid
                        status:
                          type: string
                          enum:
                            - pending
                            - failed
                            - completed
                          description: Status of the completed occurrence.
                        error:
                          type: object
                          properties:
                            message:
                              type: string
                          description: Contains details on why the occurrence errored.
                  ownerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  partnerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  recur:
                    type: object
                    required:
                      - recurrenceRule
                      - runTransfer
                    properties:
                      recurrenceRule:
                        type: string
                        description: |2-
                            RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                            Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                      runTransfer:
                        type: object
                        required:
                          - amount
                          - destination
                          - partnerAccountID
                          - source
                          - description
                        properties:
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          destination:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          partnerAccountID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          source:
                            type: object
                            required:
                              - paymentMethodID
                            properties:
                              paymentMethodID:
                                type: string
                                format: uuid
                                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                              achDetails:
                                type: object
                                properties:
                                  companyEntryDescription:
                                    type: string
                                    minLength: 4
                                    maxLength: 10
                                    description: An optional override of the default NACHA company entry description for a transfer.
                                    example: Gym dues
                                  originatingCompanyName:
                                    type: string
                                    minLength: 4
                                    maxLength: 16
                                    description: An optional override of the default NACHA company name for a transfer.
                                    example: Whole Body Fit
                              cardDetails:
                                type: object
                                properties:
                                  dynamicDescriptor:
                                    type: string
                                    minLength: 4
                                    maxLength: 22
                                    description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                    example: WhlBdy *Yoga 11-12
                          description:
                            type: string
                            description: Simple description to place on the transfer.
                        description: Defines the attributes of a transfer.
                      indefinite:
                        type: boolean
                        description: True if the RRule set runs indefinitely.
                      start:
                        type: string
                        format: date-time
                        example: '2009-11-10T23:00:00Z'
                    description: Defines configuration for recurring transfers.
                  scheduleID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  sourceAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getSchedules
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.get({
                accountID: "31afd98b-eb55-41b3-8a4f-0ee8ea69e4e0",
                scheduleID: "55487e07-f3b7-44e8-b6f3-64fc85701c34",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getSchedules
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->scheduling->get(
                accountID: '31afd98b-eb55-41b3-8a4f-0ee8ea69e4e0',
                scheduleID: '55487e07-f3b7-44e8-b6f3-64fc85701c34'

            );

            if ($response->scheduleResponse !== null) {
                // handle response
            }
        - lang: python
          label: getSchedules
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.get(account_id="31afd98b-eb55-41b3-8a4f-0ee8ea69e4e0", schedule_id="55487e07-f3b7-44e8-b6f3-64fc85701c34")

                # Handle response
                print(res)
        - lang: java
          label: getSchedules
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetSchedulesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetSchedulesResponse res = sdk.scheduling().get()
                            .accountID("31afd98b-eb55-41b3-8a4f-0ee8ea69e4e0")
                            .scheduleID("55487e07-f3b7-44e8-b6f3-64fc85701c34")
                            .call();

                    if (res.scheduleResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getSchedules
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.scheduling.get(account_id: '31afd98b-eb55-41b3-8a4f-0ee8ea69e4e0', schedule_id: '55487e07-f3b7-44e8-b6f3-64fc85701c34')

            unless res.schedule_response.nil?
              # handle response
            end
    delete:
      operationId: cancelSchedule
      description: |-
        Describes the schedule to cancel.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: Your Moov account ID as the partner running the transfers.
          schema:
            type: string
            format: uuid
        - name: scheduleID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      x-speakeasy-name-override: cancel
      x-codeSamples:
        - lang: typescript
          label: cancelSchedule
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.cancel({
                accountID: "e89edcfc-19ca-40eb-802b-a35100dea24d",
                scheduleID: "5ca67de0-63f6-4cb7-b94a-6c84616ffe03",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: cancelSchedule
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->scheduling->cancel(
                accountID: 'e89edcfc-19ca-40eb-802b-a35100dea24d',
                scheduleID: '5ca67de0-63f6-4cb7-b94a-6c84616ffe03'

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: cancelSchedule
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.cancel(account_id="e89edcfc-19ca-40eb-802b-a35100dea24d", schedule_id="5ca67de0-63f6-4cb7-b94a-6c84616ffe03")

                # Handle response
                print(res)
        - lang: java
          label: cancelSchedule
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CancelScheduleResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CancelScheduleResponse res = sdk.scheduling().cancel()
                            .accountID("e89edcfc-19ca-40eb-802b-a35100dea24d")
                            .scheduleID("5ca67de0-63f6-4cb7-b94a-6c84616ffe03")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: cancelSchedule
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.scheduling.cancel(account_id: 'e89edcfc-19ca-40eb-802b-a35100dea24d', schedule_id: '5ca67de0-63f6-4cb7-b94a-6c84616ffe03')

            if res.status_code == 200
              # handle response
            end
  /accounts/{accountID}/schedules/{scheduleID}/occurrences/{occurrenceFilter}:
    get:
      operationId: getScheduledOccurrence
      description: |-
        Gets a specific occurrence.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: scheduleID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: occurrenceFilter
          in: path
          required: true
          description: |-
            Allows the specification of additional filters beyond the UUID.

            Specifying a UUID string returns the exact occurrence.
            Specifying a RFC 3339 timestamp returns the latest occurrence at or before that timestamp.
            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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - runOn
                  - runTransfer
                properties:
                  scheduleID:
                    type: string
                    format: uuid
                  occurrenceID:
                    type: string
                    format: uuid
                  mode:
                    allOf:
                      - type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                    description: Sandbox or production account mode of this schedule.
                  generated:
                    type: boolean
                    description: True if this was generated by a RRule.
                  indefinite:
                    type: boolean
                    description: True if the RRule set runs indefinitely.
                  canceledOn:
                    type: string
                    format: date-time
                  runOn:
                    type: string
                    format: date-time
                  runTransfer:
                    type: object
                    required:
                      - amount
                      - destination
                      - partnerAccountID
                      - source
                      - description
                    properties:
                      amount:
                        type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                      destination:
                        type: object
                        required:
                          - paymentMethodID
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          achDetails:
                            type: object
                            properties:
                              companyEntryDescription:
                                type: string
                                minLength: 4
                                maxLength: 10
                                description: An optional override of the default NACHA company entry description for a transfer.
                                example: Gym dues
                              originatingCompanyName:
                                type: string
                                minLength: 4
                                maxLength: 16
                                description: An optional override of the default NACHA company name for a transfer.
                                example: Whole Body Fit
                          cardDetails:
                            type: object
                            properties:
                              dynamicDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                example: WhlBdy *Yoga 11-12
                      partnerAccountID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      source:
                        type: object
                        required:
                          - paymentMethodID
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          achDetails:
                            type: object
                            properties:
                              companyEntryDescription:
                                type: string
                                minLength: 4
                                maxLength: 10
                                description: An optional override of the default NACHA company entry description for a transfer.
                                example: Gym dues
                              originatingCompanyName:
                                type: string
                                minLength: 4
                                maxLength: 16
                                description: An optional override of the default NACHA company name for a transfer.
                                example: Whole Body Fit
                          cardDetails:
                            type: object
                            properties:
                              dynamicDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                example: WhlBdy *Yoga 11-12
                      description:
                        type: string
                        description: Simple description to place on the transfer.
                    description: Defines the attributes of a transfer.
                  ranOn:
                    type: string
                    format: date-time
                  ranTransferID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - pending
                      - failed
                      - completed
                    description: Status of the completed occurrence.
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                    description: Contains details on why the occurrence errored.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Scheduling
      x-speakeasy-name-override: getOccurrance
      x-codeSamples:
        - lang: typescript
          label: getScheduledOccurrence
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.scheduling.getOccurrance({
                accountID: "ea12b5d5-6249-4af2-ae48-6141a5251090",
                scheduleID: "289e94cd-66f1-4df5-999f-46d0f40b4ce9",
                occurrenceFilter: "<value>",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getScheduledOccurrence
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->scheduling->getOccurrance(
                accountID: 'ea12b5d5-6249-4af2-ae48-6141a5251090',
                scheduleID: '289e94cd-66f1-4df5-999f-46d0f40b4ce9',
                occurrenceFilter: '<value>'

            );

            if ($response->occurrencesResponse !== null) {
                // handle response
            }
        - lang: python
          label: getScheduledOccurrence
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.scheduling.get_occurrance(account_id="ea12b5d5-6249-4af2-ae48-6141a5251090", schedule_id="289e94cd-66f1-4df5-999f-46d0f40b4ce9", occurrence_filter="<value>")

                # Handle response
                print(res)
        - lang: java
          label: getScheduledOccurrence
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetScheduledOccurrenceResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetScheduledOccurrenceResponse res = sdk.scheduling().getOccurrance()
                            .accountID("ea12b5d5-6249-4af2-ae48-6141a5251090")
                            .scheduleID("289e94cd-66f1-4df5-999f-46d0f40b4ce9")
                            .occurrenceFilter("<value>")
                            .call();

                    if (res.occurrencesResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getScheduledOccurrence
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.scheduling.get_occurrance(account_id: 'ea12b5d5-6249-4af2-ae48-6141a5251090', schedule_id: '289e94cd-66f1-4df5-999f-46d0f40b4ce9', occurrence_filter: '<value>')

            unless res.occurrences_response.nil?
              # handle response
            end
  /accounts/{accountID}/statements:
    get:
      operationId: listStatements
      description: |-
        Retrieve all statements associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: billingPeriodStartDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all statements where billing period is on or after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: billingPeriodEndDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all statements where billing period is before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - statementID
                    - statementName
                    - fileName
                    - fileSize
                    - billingPeriodStartDateTime
                    - billingPeriodEndDateTime
                    - subscriptionIDs
                    - summary
                    - createdOn
                    - updatedOn
                  properties:
                    statementID:
                      type: string
                      format: uuid
                      description: The unique identifier for the statement.
                    statementName:
                      type: string
                      description: The name of the statement.
                    fileName:
                      type: string
                      description: The name of the statement file.
                    fileSize:
                      type: integer
                      format: int64
                      description: The size of the statement file in bytes.
                    billingPeriodStartDateTime:
                      type: string
                      format: date-time
                      description: The start date and time of the billing period.
                    billingPeriodEndDateTime:
                      type: string
                      format: date-time
                      description: The end date and time of the billing period.
                    subscriptionIDs:
                      type: array
                      items:
                        type: string
                      description: List of subscription IDs associated with this statement.
                    summary:
                      allOf:
                        - type: object
                          properties:
                            cardAcquiring:
                              type: object
                              properties:
                                volumeAmount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total transaction volume amount.
                                volumeCount:
                                  type: integer
                                  format: int64
                                  description: The total number of transactions.
                                feeAmount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total fee amount.
                                interchangeFees:
                                  allOf:
                                    - type: object
                                      required:
                                        - visa
                                        - mastercard
                                        - discover
                                        - americanExpress
                                      properties:
                                        visa:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: Total interchange fees for Visa.
                                        mastercard:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: Total interchange fees for Mastercard.
                                        discover:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: Total interchange fees for Discover.
                                        americanExpress:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: Total interchange fees for American Express.
                                      description: A summary of interchange fees by card brand.
                                  description: A summary of interchange fees by card brand.
                              description: A summary of card acquiring volume and fees.
                            ach:
                              allOf:
                                - type: object
                                  properties:
                                    volumeAmount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total transaction volume amount.
                                    volumeCount:
                                      type: integer
                                      format: int64
                                      description: The total number of transactions.
                                    feeAmount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total fee amount.
                                  description: Details of volume and fees for a specific payment method.
                              description: A summary of ACH volume and fees.
                            instantPayments:
                              allOf:
                                - type: object
                                  properties:
                                    volumeAmount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total transaction volume amount.
                                    volumeCount:
                                      type: integer
                                      format: int64
                                      description: The total number of transactions.
                                    feeAmount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total fee amount.
                                  description: Details of volume and fees for a specific payment method.
                              description: A summary of instant payment volume and fees.
                            platformFees:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: The total amount of platform fees.
                            adjustmentFees:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: The total amount of adjustment fees.
                            otherFees:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: The total amount of other fees.
                            total:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: The total amount of all fees.
                          description: A summary of all fees included in a statement.
                      description: A summary of all fees included in this statement.
                    cardAcquiringFees:
                      allOf:
                        - type: object
                          required:
                            - visa
                            - mastercard
                            - discover
                            - americanExpress
                          properties:
                            visa:
                              allOf:
                                - type: object
                                  required:
                                    - total
                                  properties:
                                    interchange:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of interchange fees.
                                    interchangePrograms:
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - programName
                                          - count
                                          - percentageRate
                                          - perItemRate
                                          - total
                                          - transferVolume
                                        properties:
                                          programName:
                                            type: string
                                            description: The name of the interchange program.
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of transactions for this program.
                                          percentageRate:
                                            type: number
                                            format: decimal
                                            description: The percentage rate for this program.
                                          perItemRate:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The per-item rate for this program.
                                          total:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total fee amount for this program.
                                          transferVolume:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total transfer volume for this program.
                                        description: Details of a specific interchange program fee.
                                      description: A list of interchange program fees.
                                    networkPassthrough:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of network passthrough fees.
                                    completedDomesticOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic online transactions.
                                    completedDomesticInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic in-person transactions.
                                    completedInternationalOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international online transactions.
                                    completedInternationalInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international in-person transactions.
                                    declines:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of declined transactions.
                                    refunds:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of refunded transactions.
                                    total:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Total fees for this card brand.
                                  description: A detailed breakdown of fees for a specific card brand.
                              description: Fees associated with Visa transactions.
                            mastercard:
                              allOf:
                                - type: object
                                  required:
                                    - total
                                  properties:
                                    interchange:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of interchange fees.
                                    interchangePrograms:
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - programName
                                          - count
                                          - percentageRate
                                          - perItemRate
                                          - total
                                          - transferVolume
                                        properties:
                                          programName:
                                            type: string
                                            description: The name of the interchange program.
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of transactions for this program.
                                          percentageRate:
                                            type: number
                                            format: decimal
                                            description: The percentage rate for this program.
                                          perItemRate:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The per-item rate for this program.
                                          total:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total fee amount for this program.
                                          transferVolume:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total transfer volume for this program.
                                        description: Details of a specific interchange program fee.
                                      description: A list of interchange program fees.
                                    networkPassthrough:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of network passthrough fees.
                                    completedDomesticOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic online transactions.
                                    completedDomesticInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic in-person transactions.
                                    completedInternationalOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international online transactions.
                                    completedInternationalInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international in-person transactions.
                                    declines:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of declined transactions.
                                    refunds:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of refunded transactions.
                                    total:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Total fees for this card brand.
                                  description: A detailed breakdown of fees for a specific card brand.
                              description: Fees associated with Mastercard transactions.
                            discover:
                              allOf:
                                - type: object
                                  required:
                                    - total
                                  properties:
                                    interchange:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of interchange fees.
                                    interchangePrograms:
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - programName
                                          - count
                                          - percentageRate
                                          - perItemRate
                                          - total
                                          - transferVolume
                                        properties:
                                          programName:
                                            type: string
                                            description: The name of the interchange program.
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of transactions for this program.
                                          percentageRate:
                                            type: number
                                            format: decimal
                                            description: The percentage rate for this program.
                                          perItemRate:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The per-item rate for this program.
                                          total:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total fee amount for this program.
                                          transferVolume:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total transfer volume for this program.
                                        description: Details of a specific interchange program fee.
                                      description: A list of interchange program fees.
                                    networkPassthrough:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of network passthrough fees.
                                    completedDomesticOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic online transactions.
                                    completedDomesticInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic in-person transactions.
                                    completedInternationalOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international online transactions.
                                    completedInternationalInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international in-person transactions.
                                    declines:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of declined transactions.
                                    refunds:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of refunded transactions.
                                    total:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Total fees for this card brand.
                                  description: A detailed breakdown of fees for a specific card brand.
                              description: Fees associated with Discover transactions.
                            americanExpress:
                              allOf:
                                - type: object
                                  required:
                                    - total
                                  properties:
                                    interchange:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of interchange fees.
                                    interchangePrograms:
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - programName
                                          - count
                                          - percentageRate
                                          - perItemRate
                                          - total
                                          - transferVolume
                                        properties:
                                          programName:
                                            type: string
                                            description: The name of the interchange program.
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of transactions for this program.
                                          percentageRate:
                                            type: number
                                            format: decimal
                                            description: The percentage rate for this program.
                                          perItemRate:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The per-item rate for this program.
                                          total:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total fee amount for this program.
                                          transferVolume:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total transfer volume for this program.
                                        description: Details of a specific interchange program fee.
                                      description: A list of interchange program fees.
                                    networkPassthrough:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of network passthrough fees.
                                    completedDomesticOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic online transactions.
                                    completedDomesticInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed domestic in-person transactions.
                                    completedInternationalOnline:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international online transactions.
                                    completedInternationalInPerson:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of completed international in-person transactions.
                                    declines:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of declined transactions.
                                    refunds:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Details of refunded transactions.
                                    total:
                                      allOf:
                                        - type: object
                                          required:
                                            - count
                                            - amount
                                          properties:
                                            count:
                                              type: integer
                                              format: int64
                                              description: The number of items.
                                            amount:
                                              allOf:
                                                - type: object
                                                  required:
                                                    - currency
                                                    - valueDecimal
                                                  properties:
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Za-z]{3}$
                                                      description: A 3-letter ISO 4217 currency code.
                                                      example: USD
                                                    valueDecimal:
                                                      type: string
                                                      pattern: ^\d+\.\d{1,9}$
                                                      description: |-
                                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                        For example, $12.987654321 is '12.987654321'.
                                                      example: '12.987654321'
                                              description: The total amount.
                                          description: Represents a count of items and their total amount.
                                      description: Total fees for this card brand.
                                  description: A detailed breakdown of fees for a specific card brand.
                              description: Fees associated with American Express transactions.
                          description: A detailed breakdown of card acquiring fees by card brand.
                      description: A detailed breakdown of card acquiring fees.
                    achFees:
                      allOf:
                        - type: object
                          required:
                            - standardCredit
                            - sameDayCredit
                            - debits
                            - return
                            - unauthorizedReturn
                            - noticeOfChange
                            - total
                          properties:
                            standardCredit:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for standard credit transfers.
                            sameDayCredit:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for same-day credit transfers.
                            debits:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for debit transfers.
                            return:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for authorized returns.
                            unauthorizedReturn:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for unauthorized returns.
                            noticeOfChange:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for notices of change.
                            total:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Total ACH fees.
                          description: A detailed breakdown of ACH fees.
                      description: A detailed breakdown of ACH fees.
                    instantPaymentFees:
                      allOf:
                        - type: object
                          required:
                            - rtpCreditTransaction
                            - pushToCardTransaction
                            - pullFromCardTransaction
                            - total
                          properties:
                            rtpCreditTransaction:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for RTP credit transactions.
                            rtpDecline:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for RTP declines.
                            pushToCardTransaction:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for push-to-card transactions.
                            pushToCardDecline:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for push-to-card declines.
                            pullFromCardTransaction:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for pull-from-card transactions.
                            pullFromCardDecline:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for pull-from-card declines.
                            pullFromCardRefund:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for pull-from-card refunds.
                            total:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Total instant payment fees.
                          description: A detailed breakdown of instant payment fees.
                      description: A detailed breakdown of instant payment fees.
                    platformFees:
                      allOf:
                        - type: object
                          required:
                            - walletFee
                            - merchantPCIFee
                            - total
                          properties:
                            walletFee:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Fees associated with wallet services.
                            merchantPCIFee:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Fees for PCI compliance.
                            total:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Total platform fees.
                          description: A detailed breakdown of platform fees.
                      description: A detailed breakdown of platform fees.
                    otherCardFees:
                      allOf:
                        - type: object
                          required:
                            - disputes
                            - cardAccountUpdater
                            - cardVerification
                            - nameVerification
                            - total
                          properties:
                            disputes:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for disputes.
                            cardAccountUpdater:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for card account updater services.
                            cardVerification:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for card verification.
                            nameVerification:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Fees for name verification.
                            total:
                              allOf:
                                - type: object
                                  required:
                                    - count
                                    - amount
                                  properties:
                                    count:
                                      type: integer
                                      format: int64
                                      description: The number of items.
                                    amount:
                                      allOf:
                                        - type: object
                                          required:
                                            - currency
                                            - valueDecimal
                                          properties:
                                            currency:
                                              type: string
                                              pattern: ^[A-Za-z]{3}$
                                              description: A 3-letter ISO 4217 currency code.
                                              example: USD
                                            valueDecimal:
                                              type: string
                                              pattern: ^\d+\.\d{1,9}$
                                              description: |-
                                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                For example, $12.987654321 is '12.987654321'.
                                              example: '12.987654321'
                                      description: The total amount.
                                  description: Represents a count of items and their total amount.
                              description: Total other card fees.
                          description: A detailed breakdown of other card-related fees.
                      description: A detailed breakdown of other card-related fees.
                    createdOn:
                      type: string
                      format: date-time
                      description: The date and time the statement was created.
                    updatedOn:
                      type: string
                      format: date-time
                      description: The date and time the statement was last updated.
                  description: A billing statement for a Moov 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Statements
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listStatements
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.statements.list({
                skip: 60,
                count: 20,
                accountID: "b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listStatements
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListStatementsRequest(
                skip: 60,
                count: 20,
                accountID: 'b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f',
            );

            $response = $sdk->statements->list(
                request: $request
            );

            if ($response->statements !== null) {
                // handle response
            }
        - lang: python
          label: listStatements
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.statements.list(account_id="b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listStatements
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.ListStatementsRequest;
            import org.openapis.openapi.models.operations.ListStatementsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListStatementsRequest req = ListStatementsRequest.builder()
                            .accountID("b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListStatementsResponse res = sdk.statements().list()
                            .request(req)
                            .call();

                    if (res.statements().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listStatements
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListStatementsRequest.new(
              skip: 60,
              count: 20,
              account_id: 'b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f',
            )

            res = s.statements.list(request: req)

            unless res.statements.nil?
              # handle response
            end
  /accounts/{accountID}/statements/{statementID}:
    get:
      operationId: getStatement
      description: |-
        Retrieve a statement by its ID.

        Use the `Accept` header to specify the format of the response. Supported formats are `application/json` and `application/pdf`.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: statementID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request has succeeded.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - statementID
                  - statementName
                  - fileName
                  - fileSize
                  - billingPeriodStartDateTime
                  - billingPeriodEndDateTime
                  - subscriptionIDs
                  - summary
                  - createdOn
                  - updatedOn
                properties:
                  statementID:
                    type: string
                    format: uuid
                    description: The unique identifier for the statement.
                  statementName:
                    type: string
                    description: The name of the statement.
                  fileName:
                    type: string
                    description: The name of the statement file.
                  fileSize:
                    type: integer
                    format: int64
                    description: The size of the statement file in bytes.
                  billingPeriodStartDateTime:
                    type: string
                    format: date-time
                    description: The start date and time of the billing period.
                  billingPeriodEndDateTime:
                    type: string
                    format: date-time
                    description: The end date and time of the billing period.
                  subscriptionIDs:
                    type: array
                    items:
                      type: string
                    description: List of subscription IDs associated with this statement.
                  summary:
                    allOf:
                      - type: object
                        properties:
                          cardAcquiring:
                            type: object
                            properties:
                              volumeAmount:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total transaction volume amount.
                              volumeCount:
                                type: integer
                                format: int64
                                description: The total number of transactions.
                              feeAmount:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total fee amount.
                              interchangeFees:
                                allOf:
                                  - type: object
                                    required:
                                      - visa
                                      - mastercard
                                      - discover
                                      - americanExpress
                                    properties:
                                      visa:
                                        allOf:
                                          - type: object
                                            required:
                                              - currency
                                              - valueDecimal
                                            properties:
                                              currency:
                                                type: string
                                                pattern: ^[A-Za-z]{3}$
                                                description: A 3-letter ISO 4217 currency code.
                                                example: USD
                                              valueDecimal:
                                                type: string
                                                pattern: ^\d+\.\d{1,9}$
                                                description: |-
                                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                  For example, $12.987654321 is '12.987654321'.
                                                example: '12.987654321'
                                        description: Total interchange fees for Visa.
                                      mastercard:
                                        allOf:
                                          - type: object
                                            required:
                                              - currency
                                              - valueDecimal
                                            properties:
                                              currency:
                                                type: string
                                                pattern: ^[A-Za-z]{3}$
                                                description: A 3-letter ISO 4217 currency code.
                                                example: USD
                                              valueDecimal:
                                                type: string
                                                pattern: ^\d+\.\d{1,9}$
                                                description: |-
                                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                  For example, $12.987654321 is '12.987654321'.
                                                example: '12.987654321'
                                        description: Total interchange fees for Mastercard.
                                      discover:
                                        allOf:
                                          - type: object
                                            required:
                                              - currency
                                              - valueDecimal
                                            properties:
                                              currency:
                                                type: string
                                                pattern: ^[A-Za-z]{3}$
                                                description: A 3-letter ISO 4217 currency code.
                                                example: USD
                                              valueDecimal:
                                                type: string
                                                pattern: ^\d+\.\d{1,9}$
                                                description: |-
                                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                  For example, $12.987654321 is '12.987654321'.
                                                example: '12.987654321'
                                        description: Total interchange fees for Discover.
                                      americanExpress:
                                        allOf:
                                          - type: object
                                            required:
                                              - currency
                                              - valueDecimal
                                            properties:
                                              currency:
                                                type: string
                                                pattern: ^[A-Za-z]{3}$
                                                description: A 3-letter ISO 4217 currency code.
                                                example: USD
                                              valueDecimal:
                                                type: string
                                                pattern: ^\d+\.\d{1,9}$
                                                description: |-
                                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                  For example, $12.987654321 is '12.987654321'.
                                                example: '12.987654321'
                                        description: Total interchange fees for American Express.
                                    description: A summary of interchange fees by card brand.
                                description: A summary of interchange fees by card brand.
                            description: A summary of card acquiring volume and fees.
                          ach:
                            allOf:
                              - type: object
                                properties:
                                  volumeAmount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total transaction volume amount.
                                  volumeCount:
                                    type: integer
                                    format: int64
                                    description: The total number of transactions.
                                  feeAmount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total fee amount.
                                description: Details of volume and fees for a specific payment method.
                            description: A summary of ACH volume and fees.
                          instantPayments:
                            allOf:
                              - type: object
                                properties:
                                  volumeAmount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total transaction volume amount.
                                  volumeCount:
                                    type: integer
                                    format: int64
                                    description: The total number of transactions.
                                  feeAmount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total fee amount.
                                description: Details of volume and fees for a specific payment method.
                            description: A summary of instant payment volume and fees.
                          platformFees:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The total amount of platform fees.
                          adjustmentFees:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The total amount of adjustment fees.
                          otherFees:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The total amount of other fees.
                          total:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The total amount of all fees.
                        description: A summary of all fees included in a statement.
                    description: A summary of all fees included in this statement.
                  cardAcquiringFees:
                    allOf:
                      - type: object
                        required:
                          - visa
                          - mastercard
                          - discover
                          - americanExpress
                        properties:
                          visa:
                            allOf:
                              - type: object
                                required:
                                  - total
                                properties:
                                  interchange:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of interchange fees.
                                  interchangePrograms:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - programName
                                        - count
                                        - percentageRate
                                        - perItemRate
                                        - total
                                        - transferVolume
                                      properties:
                                        programName:
                                          type: string
                                          description: The name of the interchange program.
                                        count:
                                          type: integer
                                          format: int64
                                          description: The number of transactions for this program.
                                        percentageRate:
                                          type: number
                                          format: decimal
                                          description: The percentage rate for this program.
                                        perItemRate:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The per-item rate for this program.
                                        total:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total fee amount for this program.
                                        transferVolume:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total transfer volume for this program.
                                      description: Details of a specific interchange program fee.
                                    description: A list of interchange program fees.
                                  networkPassthrough:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of network passthrough fees.
                                  completedDomesticOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic online transactions.
                                  completedDomesticInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic in-person transactions.
                                  completedInternationalOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international online transactions.
                                  completedInternationalInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international in-person transactions.
                                  declines:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of declined transactions.
                                  refunds:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of refunded transactions.
                                  total:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Total fees for this card brand.
                                description: A detailed breakdown of fees for a specific card brand.
                            description: Fees associated with Visa transactions.
                          mastercard:
                            allOf:
                              - type: object
                                required:
                                  - total
                                properties:
                                  interchange:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of interchange fees.
                                  interchangePrograms:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - programName
                                        - count
                                        - percentageRate
                                        - perItemRate
                                        - total
                                        - transferVolume
                                      properties:
                                        programName:
                                          type: string
                                          description: The name of the interchange program.
                                        count:
                                          type: integer
                                          format: int64
                                          description: The number of transactions for this program.
                                        percentageRate:
                                          type: number
                                          format: decimal
                                          description: The percentage rate for this program.
                                        perItemRate:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The per-item rate for this program.
                                        total:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total fee amount for this program.
                                        transferVolume:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total transfer volume for this program.
                                      description: Details of a specific interchange program fee.
                                    description: A list of interchange program fees.
                                  networkPassthrough:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of network passthrough fees.
                                  completedDomesticOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic online transactions.
                                  completedDomesticInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic in-person transactions.
                                  completedInternationalOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international online transactions.
                                  completedInternationalInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international in-person transactions.
                                  declines:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of declined transactions.
                                  refunds:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of refunded transactions.
                                  total:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Total fees for this card brand.
                                description: A detailed breakdown of fees for a specific card brand.
                            description: Fees associated with Mastercard transactions.
                          discover:
                            allOf:
                              - type: object
                                required:
                                  - total
                                properties:
                                  interchange:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of interchange fees.
                                  interchangePrograms:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - programName
                                        - count
                                        - percentageRate
                                        - perItemRate
                                        - total
                                        - transferVolume
                                      properties:
                                        programName:
                                          type: string
                                          description: The name of the interchange program.
                                        count:
                                          type: integer
                                          format: int64
                                          description: The number of transactions for this program.
                                        percentageRate:
                                          type: number
                                          format: decimal
                                          description: The percentage rate for this program.
                                        perItemRate:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The per-item rate for this program.
                                        total:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total fee amount for this program.
                                        transferVolume:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total transfer volume for this program.
                                      description: Details of a specific interchange program fee.
                                    description: A list of interchange program fees.
                                  networkPassthrough:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of network passthrough fees.
                                  completedDomesticOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic online transactions.
                                  completedDomesticInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic in-person transactions.
                                  completedInternationalOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international online transactions.
                                  completedInternationalInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international in-person transactions.
                                  declines:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of declined transactions.
                                  refunds:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of refunded transactions.
                                  total:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Total fees for this card brand.
                                description: A detailed breakdown of fees for a specific card brand.
                            description: Fees associated with Discover transactions.
                          americanExpress:
                            allOf:
                              - type: object
                                required:
                                  - total
                                properties:
                                  interchange:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of interchange fees.
                                  interchangePrograms:
                                    type: array
                                    items:
                                      type: object
                                      required:
                                        - programName
                                        - count
                                        - percentageRate
                                        - perItemRate
                                        - total
                                        - transferVolume
                                      properties:
                                        programName:
                                          type: string
                                          description: The name of the interchange program.
                                        count:
                                          type: integer
                                          format: int64
                                          description: The number of transactions for this program.
                                        percentageRate:
                                          type: number
                                          format: decimal
                                          description: The percentage rate for this program.
                                        perItemRate:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The per-item rate for this program.
                                        total:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total fee amount for this program.
                                        transferVolume:
                                          allOf:
                                            - type: object
                                              required:
                                                - currency
                                                - valueDecimal
                                              properties:
                                                currency:
                                                  type: string
                                                  pattern: ^[A-Za-z]{3}$
                                                  description: A 3-letter ISO 4217 currency code.
                                                  example: USD
                                                valueDecimal:
                                                  type: string
                                                  pattern: ^\d+\.\d{1,9}$
                                                  description: |-
                                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                    For example, $12.987654321 is '12.987654321'.
                                                  example: '12.987654321'
                                          description: The total transfer volume for this program.
                                      description: Details of a specific interchange program fee.
                                    description: A list of interchange program fees.
                                  networkPassthrough:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of network passthrough fees.
                                  completedDomesticOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic online transactions.
                                  completedDomesticInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed domestic in-person transactions.
                                  completedInternationalOnline:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international online transactions.
                                  completedInternationalInPerson:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of completed international in-person transactions.
                                  declines:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of declined transactions.
                                  refunds:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Details of refunded transactions.
                                  total:
                                    allOf:
                                      - type: object
                                        required:
                                          - count
                                          - amount
                                        properties:
                                          count:
                                            type: integer
                                            format: int64
                                            description: The number of items.
                                          amount:
                                            allOf:
                                              - type: object
                                                required:
                                                  - currency
                                                  - valueDecimal
                                                properties:
                                                  currency:
                                                    type: string
                                                    pattern: ^[A-Za-z]{3}$
                                                    description: A 3-letter ISO 4217 currency code.
                                                    example: USD
                                                  valueDecimal:
                                                    type: string
                                                    pattern: ^\d+\.\d{1,9}$
                                                    description: |-
                                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                                      For example, $12.987654321 is '12.987654321'.
                                                    example: '12.987654321'
                                            description: The total amount.
                                        description: Represents a count of items and their total amount.
                                    description: Total fees for this card brand.
                                description: A detailed breakdown of fees for a specific card brand.
                            description: Fees associated with American Express transactions.
                        description: A detailed breakdown of card acquiring fees by card brand.
                    description: A detailed breakdown of card acquiring fees.
                  achFees:
                    allOf:
                      - type: object
                        required:
                          - standardCredit
                          - sameDayCredit
                          - debits
                          - return
                          - unauthorizedReturn
                          - noticeOfChange
                          - total
                        properties:
                          standardCredit:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for standard credit transfers.
                          sameDayCredit:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for same-day credit transfers.
                          debits:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for debit transfers.
                          return:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for authorized returns.
                          unauthorizedReturn:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for unauthorized returns.
                          noticeOfChange:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for notices of change.
                          total:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Total ACH fees.
                        description: A detailed breakdown of ACH fees.
                    description: A detailed breakdown of ACH fees.
                  instantPaymentFees:
                    allOf:
                      - type: object
                        required:
                          - rtpCreditTransaction
                          - pushToCardTransaction
                          - pullFromCardTransaction
                          - total
                        properties:
                          rtpCreditTransaction:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for RTP credit transactions.
                          rtpDecline:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for RTP declines.
                          pushToCardTransaction:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for push-to-card transactions.
                          pushToCardDecline:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for push-to-card declines.
                          pullFromCardTransaction:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for pull-from-card transactions.
                          pullFromCardDecline:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for pull-from-card declines.
                          pullFromCardRefund:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for pull-from-card refunds.
                          total:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Total instant payment fees.
                        description: A detailed breakdown of instant payment fees.
                    description: A detailed breakdown of instant payment fees.
                  platformFees:
                    allOf:
                      - type: object
                        required:
                          - walletFee
                          - merchantPCIFee
                          - total
                        properties:
                          walletFee:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: Fees associated with wallet services.
                          merchantPCIFee:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: Fees for PCI compliance.
                          total:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: Total platform fees.
                        description: A detailed breakdown of platform fees.
                    description: A detailed breakdown of platform fees.
                  otherCardFees:
                    allOf:
                      - type: object
                        required:
                          - disputes
                          - cardAccountUpdater
                          - cardVerification
                          - nameVerification
                          - total
                        properties:
                          disputes:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for disputes.
                          cardAccountUpdater:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for card account updater services.
                          cardVerification:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for card verification.
                          nameVerification:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Fees for name verification.
                          total:
                            allOf:
                              - type: object
                                required:
                                  - count
                                  - amount
                                properties:
                                  count:
                                    type: integer
                                    format: int64
                                    description: The number of items.
                                  amount:
                                    allOf:
                                      - type: object
                                        required:
                                          - currency
                                          - valueDecimal
                                        properties:
                                          currency:
                                            type: string
                                            pattern: ^[A-Za-z]{3}$
                                            description: A 3-letter ISO 4217 currency code.
                                            example: USD
                                          valueDecimal:
                                            type: string
                                            pattern: ^\d+\.\d{1,9}$
                                            description: |-
                                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                              For example, $12.987654321 is '12.987654321'.
                                            example: '12.987654321'
                                    description: The total amount.
                                description: Represents a count of items and their total amount.
                            description: Total other card fees.
                        description: A detailed breakdown of other card-related fees.
                    description: A detailed breakdown of other card-related fees.
                  createdOn:
                    type: string
                    format: date-time
                    description: The date and time the statement was created.
                  updatedOn:
                    type: string
                    format: date-time
                    description: The date and time the statement was last updated.
                description: A billing statement for a Moov account.
            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Statements
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getStatement
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.statements.get({
                accountID: "5623ff52-0b05-41ea-b7b3-655835064007",
                statementID: "9d45acbf-c4fe-4843-846c-eaa43c9ca17f",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getStatement
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->statements->get(
                accountID: '5623ff52-0b05-41ea-b7b3-655835064007',
                statementID: '9d45acbf-c4fe-4843-846c-eaa43c9ca17f'

            );

            if ($response->statement !== null) {
                // handle response
            }
        - lang: python
          label: getStatement
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.statements.get(account_id="5623ff52-0b05-41ea-b7b3-655835064007", statement_id="9d45acbf-c4fe-4843-846c-eaa43c9ca17f")

                # Handle response
                print(res)
        - lang: java
          label: getStatement
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetStatementResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetStatementResponse res = sdk.statements().get()
                            .accountID("5623ff52-0b05-41ea-b7b3-655835064007")
                            .statementID("9d45acbf-c4fe-4843-846c-eaa43c9ca17f")
                            .call();

                    if (res.statement().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getStatement
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.statements.get(account_id: '5623ff52-0b05-41ea-b7b3-655835064007', statement_id: '9d45acbf-c4fe-4843-846c-eaa43c9ca17f')

            unless res.statement.nil?
              # handle response
            end
  /accounts/{accountID}/sweep-configs:
    post:
      operationId: createSweepConfig
      description: |-
        Create a sweep config for a wallet.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - sweepConfigID
                  - walletID
                  - status
                  - pushPaymentMethod
                  - pullPaymentMethod
                  - createdOn
                  - updatedOn
                properties:
                  sweepConfigID:
                    type: string
                    format: uuid
                  walletID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - enabled
                      - disabled
                  pushPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  pullPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  minimumBalance:
                    type: string
                    pattern: ^\d+\.\d{1,2}$
                    description: An optional field to specify an amount to maintain in the wallet. This is a decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99. If not supplied, the default is 0.00.
                  statementDescriptor:
                    type: string
                    minLength: 4
                    maxLength: 10
                    description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                  lockedFields:
                    type: array
                    items:
                      type: string
                    description: An array of fields that are locked. To request updates, please contact Moov support.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  walletID:
                    type: string
                  status:
                    type: string
                  pushPaymentMethodID:
                    type: string
                  pullPaymentMethodID:
                    type: string
                  statementDescriptor:
                    type: string
                  minimumBalance:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - walletID
                - status
                - pushPaymentMethodID
                - pullPaymentMethodID
              properties:
                walletID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - enabled
                    - disabled
                pushPaymentMethodID:
                  type: string
                  format: uuid
                  description: ID of the payment method.
                pullPaymentMethodID:
                  type: string
                  format: uuid
                  description: ID of the payment method.
                statementDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                minimumBalance:
                  type: string
                  pattern: ^\d+\.\d{1,2}$
            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
      x-codeSamples:
        - lang: typescript
          label: createSweepConfig
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.createConfig({
                accountID: "02c3d1d1-d847-4eb3-bef3-8caa32a5610b",
                createSweepConfig: {
                  walletID: "01234567-89ab-cdef-0123-456789abcdef",
                  status: "enabled",
                  pushPaymentMethodID: "01234567-89ab-cdef-0123-456789abcdef",
                  pullPaymentMethodID: "01234567-89ab-cdef-0123-456789abcdef",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createSweepConfig
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createSweepConfig = new Components\CreateSweepConfig(
                walletID: '01234567-89ab-cdef-0123-456789abcdef',
                status: Components\SweepConfigStatus::Enabled,
                pushPaymentMethodID: '01234567-89ab-cdef-0123-456789abcdef',
                pullPaymentMethodID: '01234567-89ab-cdef-0123-456789abcdef',
            );

            $response = $sdk->sweeps->createConfig(
                accountID: '02c3d1d1-d847-4eb3-bef3-8caa32a5610b',
                createSweepConfig: $createSweepConfig

            );

            if ($response->sweepConfig !== null) {
                // handle response
            }
        - lang: python
          label: createSweepConfig
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.create_config(account_id="02c3d1d1-d847-4eb3-bef3-8caa32a5610b", wallet_id="01234567-89ab-cdef-0123-456789abcdef", status="enabled", push_payment_method_id="01234567-89ab-cdef-0123-456789abcdef", pull_payment_method_id="01234567-89ab-cdef-0123-456789abcdef")

                # Handle response
                print(res)
        - lang: java
          label: createSweepConfig
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateSweepConfig;
            import org.openapis.openapi.models.components.SweepConfigStatus;
            import org.openapis.openapi.models.errors.CreateSweepConfigError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateSweepConfigResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CreateSweepConfigError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateSweepConfigResponse res = sdk.sweeps().createConfig()
                            .accountID("02c3d1d1-d847-4eb3-bef3-8caa32a5610b")
                            .createSweepConfig(CreateSweepConfig.builder()
                                .walletID("01234567-89ab-cdef-0123-456789abcdef")
                                .status(SweepConfigStatus.ENABLED)
                                .pushPaymentMethodID("01234567-89ab-cdef-0123-456789abcdef")
                                .pullPaymentMethodID("01234567-89ab-cdef-0123-456789abcdef")
                                .build())
                            .call();

                    if (res.sweepConfig().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createSweepConfig
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.sweeps.create_config(account_id: '02c3d1d1-d847-4eb3-bef3-8caa32a5610b', create_sweep_config: Models::Components::CreateSweepConfig.new(
              wallet_id: '01234567-89ab-cdef-0123-456789abcdef',
              status: Models::Components::SweepConfigStatus::ENABLED,
              push_payment_method_id: '01234567-89ab-cdef-0123-456789abcdef',
              pull_payment_method_id: '01234567-89ab-cdef-0123-456789abcdef',
            ))

            unless res.sweep_config.nil?
              # handle response
            end
    get:
      operationId: listSweepConfigs
      description: |-
        List sweep configs associated with an account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - sweepConfigID
                    - walletID
                    - status
                    - pushPaymentMethod
                    - pullPaymentMethod
                    - createdOn
                    - updatedOn
                  properties:
                    sweepConfigID:
                      type: string
                      format: uuid
                    walletID:
                      type: string
                      format: uuid
                    status:
                      type: string
                      enum:
                        - enabled
                        - disabled
                    pushPaymentMethod:
                      type: object
                      required:
                        - paymentMethodID
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        disabledOn:
                          type: string
                          format: date-time
                      description: |-
                        The payment method used to push or pull funds to a bank account.
                        The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                    pullPaymentMethod:
                      type: object
                      required:
                        - paymentMethodID
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          description: ID of the payment method.
                        disabledOn:
                          type: string
                          format: date-time
                      description: |-
                        The payment method used to push or pull funds to a bank account.
                        The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                    minimumBalance:
                      type: string
                      pattern: ^\d+\.\d{1,2}$
                      description: An optional field to specify an amount to maintain in the wallet. This is a decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99. If not supplied, the default is 0.00.
                    statementDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                    lockedFields:
                      type: array
                      items:
                        type: string
                      description: An array of fields that are locked. To request updates, please contact Moov support.
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      x-speakeasy-name-override: listConfigs
      x-codeSamples:
        - lang: typescript
          label: listSweepConfigs
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.listConfigs({
                accountID: "ed67e4c8-03d3-4d88-ba38-fcd87de45a92",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listSweepConfigs
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->sweeps->listConfigs(
                accountID: 'ed67e4c8-03d3-4d88-ba38-fcd87de45a92'
            );

            if ($response->sweepConfigs !== null) {
                // handle response
            }
        - lang: python
          label: listSweepConfigs
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.list_configs(account_id="ed67e4c8-03d3-4d88-ba38-fcd87de45a92")

                # Handle response
                print(res)
        - lang: java
          label: listSweepConfigs
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListSweepConfigsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListSweepConfigsResponse res = sdk.sweeps().listConfigs()
                            .accountID("ed67e4c8-03d3-4d88-ba38-fcd87de45a92")
                            .call();

                    if (res.sweepConfigs().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listSweepConfigs
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.sweeps.list_configs(account_id: 'ed67e4c8-03d3-4d88-ba38-fcd87de45a92')

            unless res.sweep_configs.nil?
              # handle response
            end
  /accounts/{accountID}/sweep-configs/{sweepConfigID}:
    get:
      operationId: getSweepConfig
      description: |-
        Get a sweep config associated with a wallet.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: sweepConfigID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - sweepConfigID
                  - walletID
                  - status
                  - pushPaymentMethod
                  - pullPaymentMethod
                  - createdOn
                  - updatedOn
                properties:
                  sweepConfigID:
                    type: string
                    format: uuid
                  walletID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - enabled
                      - disabled
                  pushPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  pullPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  minimumBalance:
                    type: string
                    pattern: ^\d+\.\d{1,2}$
                    description: An optional field to specify an amount to maintain in the wallet. This is a decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99. If not supplied, the default is 0.00.
                  statementDescriptor:
                    type: string
                    minLength: 4
                    maxLength: 10
                    description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                  lockedFields:
                    type: array
                    items:
                      type: string
                    description: An array of fields that are locked. To request updates, please contact Moov support.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      x-speakeasy-name-override: getConfig
      x-codeSamples:
        - lang: typescript
          label: getSweepConfig
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.getConfig({
                accountID: "ae1c2e76-3195-4fc8-b922-b7af6dcf1aad",
                sweepConfigID: "bfddff28-5291-4d9b-a0f8-22a0895e8486",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getSweepConfig
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->sweeps->getConfig(
                accountID: 'ae1c2e76-3195-4fc8-b922-b7af6dcf1aad',
                sweepConfigID: 'bfddff28-5291-4d9b-a0f8-22a0895e8486'

            );

            if ($response->sweepConfig !== null) {
                // handle response
            }
        - lang: python
          label: getSweepConfig
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.get_config(account_id="ae1c2e76-3195-4fc8-b922-b7af6dcf1aad", sweep_config_id="bfddff28-5291-4d9b-a0f8-22a0895e8486")

                # Handle response
                print(res)
        - lang: java
          label: getSweepConfig
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetSweepConfigResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetSweepConfigResponse res = sdk.sweeps().getConfig()
                            .accountID("ae1c2e76-3195-4fc8-b922-b7af6dcf1aad")
                            .sweepConfigID("bfddff28-5291-4d9b-a0f8-22a0895e8486")
                            .call();

                    if (res.sweepConfig().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getSweepConfig
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.sweeps.get_config(account_id: 'ae1c2e76-3195-4fc8-b922-b7af6dcf1aad', sweep_config_id: 'bfddff28-5291-4d9b-a0f8-22a0895e8486')

            unless res.sweep_config.nil?
              # handle response
            end
    patch:
      operationId: updateSweepConfig
      description: |-
        Update settings on a sweep config.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: sweepConfigID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - sweepConfigID
                  - walletID
                  - status
                  - pushPaymentMethod
                  - pullPaymentMethod
                  - createdOn
                  - updatedOn
                properties:
                  sweepConfigID:
                    type: string
                    format: uuid
                  walletID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - enabled
                      - disabled
                  pushPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  pullPaymentMethod:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        description: ID of the payment method.
                      disabledOn:
                        type: string
                        format: date-time
                    description: |-
                      The payment method used to push or pull funds to a bank account.
                      The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
                  minimumBalance:
                    type: string
                    pattern: ^\d+\.\d{1,2}$
                    description: An optional field to specify an amount to maintain in the wallet. This is a decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99. If not supplied, the default is 0.00.
                  statementDescriptor:
                    type: string
                    minLength: 4
                    maxLength: 10
                    description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                  lockedFields:
                    type: array
                    items:
                      type: string
                    description: An array of fields that are locked. To request updates, please contact Moov support.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  pushPaymentMethodID:
                    type: string
                  pullPaymentMethodID:
                    type: string
                  statementDescriptor:
                    type: string
                  minimumBalance:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  allOf:
                    - type: string
                      enum:
                        - enabled
                        - disabled
                  nullable: true
                pushPaymentMethodID:
                  type: object
                  allOf:
                    - type: string
                      format: uuid
                      description: ID of the payment method.
                  nullable: true
                pullPaymentMethodID:
                  type: object
                  allOf:
                    - type: string
                      format: uuid
                      description: ID of the payment method.
                  nullable: true
                statementDescriptor:
                  type: object
                  allOf:
                    - type: string
                      minLength: 4
                      maxLength: 10
                      description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                  nullable: true
                minimumBalance:
                  type: string
                  nullable: true
                  pattern: ^\d+\.\d{1,2}$
            example:
              status: disabled
      x-speakeasy-name-override: updateConfig
      x-codeSamples:
        - lang: typescript
          label: updateSweepConfig
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.updateConfig({
                accountID: "c16d0264-3e93-4d13-b8d8-6e8e98122631",
                sweepConfigID: "f7943244-882b-4a3a-837a-a58418358399",
                patchSweepConfig: {
                  status: "disabled",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateSweepConfig
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $patchSweepConfig = new Components\PatchSweepConfig(
                status: Components\Status::Disabled,
            );

            $response = $sdk->sweeps->updateConfig(
                accountID: 'c16d0264-3e93-4d13-b8d8-6e8e98122631',
                sweepConfigID: 'f7943244-882b-4a3a-837a-a58418358399',
                patchSweepConfig: $patchSweepConfig

            );

            if ($response->sweepConfig !== null) {
                // handle response
            }
        - lang: python
          label: updateSweepConfig
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.update_config(account_id="c16d0264-3e93-4d13-b8d8-6e8e98122631", sweep_config_id="f7943244-882b-4a3a-837a-a58418358399", status="disabled")

                # Handle response
                print(res)
        - lang: java
          label: updateSweepConfig
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.PatchSweepConfig;
            import org.openapis.openapi.models.components.Status;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.PatchSweepConfigError;
            import org.openapis.openapi.models.operations.UpdateSweepConfigResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, PatchSweepConfigError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateSweepConfigResponse res = sdk.sweeps().updateConfig()
                            .accountID("c16d0264-3e93-4d13-b8d8-6e8e98122631")
                            .sweepConfigID("f7943244-882b-4a3a-837a-a58418358399")
                            .patchSweepConfig(PatchSweepConfig.builder()
                                .status(Status.DISABLED)
                                .build())
                            .call();

                    if (res.sweepConfig().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateSweepConfig
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.sweeps.update_config(account_id: 'c16d0264-3e93-4d13-b8d8-6e8e98122631', sweep_config_id: 'f7943244-882b-4a3a-837a-a58418358399', patch_sweep_config: Models::Components::PatchSweepConfig.new(
              status: Models::Components::Status::DISABLED,
            ))

            unless res.sweep_config.nil?
              # handle response
            end
  /accounts/{accountID}/terminal-applications:
    post:
      operationId: linkAccountTerminalApplication
      description: |-
        Link an account with a terminal application.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/terminal-applications.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the merchant account.
            example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - terminalApplicationID
                properties:
                  accountID:
                    type: string
                    format: uuid
                    description: ID of the merchant account.
                    example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
                  terminalApplicationID:
                    type: string
                    format: uuid
                    description: ID of the terminal application.
                    example: 12345678-1234-1234-1234-123456789012
                description: Describes link between an account and a terminal application.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  terminalApplicationID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Account Terminal Applications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - terminalApplicationID
              properties:
                terminalApplicationID:
                  type: string
                  format: uuid
                  description: ID of the terminal application.
                  example: 12345678-1234-1234-1234-123456789012
              description: Describes a request to link an account with a terminal application.
      x-speakeasy-name-override: link
      x-codeSamples:
        - lang: typescript
          label: linkAccountTerminalApplication
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accountTerminalApplications.link({
                accountID: "76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e",
                linkAccountTerminalApplication: {
                  terminalApplicationID: "12345678-1234-1234-1234-123456789012",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: linkAccountTerminalApplication
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $linkAccountTerminalApplication = new Components\LinkAccountTerminalApplication(
                terminalApplicationID: '12345678-1234-1234-1234-123456789012',
            );

            $response = $sdk->accountTerminalApplications->link(
                accountID: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e',
                linkAccountTerminalApplication: $linkAccountTerminalApplication

            );

            if ($response->accountTerminalApplication !== null) {
                // handle response
            }
        - lang: python
          label: linkAccountTerminalApplication
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.account_terminal_applications.link(account_id="76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e", terminal_application_id="12345678-1234-1234-1234-123456789012")

                # Handle response
                print(res)
        - lang: java
          label: linkAccountTerminalApplication
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.LinkAccountTerminalApplication;
            import org.openapis.openapi.models.errors.AccountTerminalApplicationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.LinkAccountTerminalApplicationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, AccountTerminalApplicationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    LinkAccountTerminalApplicationResponse res = sdk.accountTerminalApplications().link()
                            .accountID("76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e")
                            .linkAccountTerminalApplication(LinkAccountTerminalApplication.builder()
                                .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                                .build())
                            .call();

                    if (res.accountTerminalApplication().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: linkAccountTerminalApplication
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.account_terminal_applications.link(account_id: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e', link_account_terminal_application: Models::Components::LinkAccountTerminalApplication.new(
              terminal_application_id: '12345678-1234-1234-1234-123456789012',
            ))

            unless res.account_terminal_application.nil?
              # handle response
            end
    get:
      operationId: listAccountTerminalApplications
      description: |-
        Retrieve all terminal applications linked to a specific account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/terminal-applications.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the merchant account.
            example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - accountID
                    - terminalApplicationID
                  properties:
                    accountID:
                      type: string
                      format: uuid
                      description: ID of the merchant account.
                      example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
                    terminalApplicationID:
                      type: string
                      format: uuid
                      description: ID of the terminal application.
                      example: 12345678-1234-1234-1234-123456789012
                  description: Describes link between an account and a terminal application.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Account Terminal Applications
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listAccountTerminalApplications
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accountTerminalApplications.list({
                accountID: "76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listAccountTerminalApplications
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accountTerminalApplications->list(
                accountID: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e'
            );

            if ($response->accountTerminalApplications !== null) {
                // handle response
            }
        - lang: python
          label: listAccountTerminalApplications
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.account_terminal_applications.list(account_id="76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e")

                # Handle response
                print(res)
        - lang: java
          label: listAccountTerminalApplications
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListAccountTerminalApplicationsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListAccountTerminalApplicationsResponse res = sdk.accountTerminalApplications().list()
                            .accountID("76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e")
                            .call();

                    if (res.accountTerminalApplications().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listAccountTerminalApplications
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.account_terminal_applications.list(account_id: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e')

            unless res.account_terminal_applications.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/terminal-applications.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the merchant account.
            example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
        - name: terminalApplicationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - accountID
                  - terminalApplicationID
                properties:
                  accountID:
                    type: string
                    format: uuid
                    description: ID of the merchant account.
                    example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
                  terminalApplicationID:
                    type: string
                    format: uuid
                    description: ID of the terminal application.
                    example: 12345678-1234-1234-1234-123456789012
                description: Describes link between an account and a terminal application.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Account Terminal Applications
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getAccountTerminalApplication
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accountTerminalApplications.get({
                accountID: "76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e",
                terminalApplicationID: "12345678-1234-1234-1234-123456789012",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getAccountTerminalApplication
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accountTerminalApplications->get(
                accountID: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e',
                terminalApplicationID: '12345678-1234-1234-1234-123456789012'

            );

            if ($response->accountTerminalApplication !== null) {
                // handle response
            }
        - lang: python
          label: getAccountTerminalApplication
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.account_terminal_applications.get(account_id="76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e", terminal_application_id="12345678-1234-1234-1234-123456789012")

                # Handle response
                print(res)
        - lang: java
          label: getAccountTerminalApplication
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetAccountTerminalApplicationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetAccountTerminalApplicationResponse res = sdk.accountTerminalApplications().get()
                            .accountID("76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e")
                            .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                            .call();

                    if (res.accountTerminalApplication().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getAccountTerminalApplication
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.account_terminal_applications.get(account_id: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e', terminal_application_id: '12345678-1234-1234-1234-123456789012')

            unless res.account_terminal_application.nil?
              # handle response
            end
  /accounts/{accountID}/terminal-applications/{terminalApplicationID}/configuration:
    get:
      operationId: getTerminalConfiguration
      description: |-
        Fetch the configuration for a given Terminal Application linked to a specific Account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/terminal-configuration.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the merchant account.
            example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
        - name: terminalApplicationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - configuration
                properties:
                  configuration:
                    type: string
                description: Describes a terminal configuration.
                example:
                  configuration: Zm9vYmFyCg==
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Account Terminal Applications
      x-speakeasy-name-override: getConfiguration
      x-codeSamples:
        - lang: typescript
          label: getTerminalConfiguration
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accountTerminalApplications.getConfiguration({
                accountID: "76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e",
                terminalApplicationID: "12345678-1234-1234-1234-123456789012",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getTerminalConfiguration
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accountTerminalApplications->getConfiguration(
                accountID: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e',
                terminalApplicationID: '12345678-1234-1234-1234-123456789012'

            );

            if ($response->terminalConfiguration !== null) {
                // handle response
            }
        - lang: python
          label: getTerminalConfiguration
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.account_terminal_applications.get_configuration(account_id="76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e", terminal_application_id="12345678-1234-1234-1234-123456789012")

                # Handle response
                print(res)
        - lang: java
          label: getTerminalConfiguration
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetTerminalConfigurationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetTerminalConfigurationResponse res = sdk.accountTerminalApplications().getConfiguration()
                            .accountID("76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e")
                            .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                            .call();

                    if (res.terminalConfiguration().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getTerminalConfiguration
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.account_terminal_applications.get_configuration(account_id: '76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e', terminal_application_id: '12345678-1234-1234-1234-123456789012')

            unless res.terminal_configuration.nil?
              # handle response
            end
  /accounts/{accountID}/tickets:
    post:
      operationId: createTicket
      description: |-
        Create a support ticket for a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/tickets.write` scope.

        If you're creating the ticket on behalf of another account, then you'll need to
        specify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - ticketID
                  - number
                  - title
                  - contact
                  - status
                  - createdOn
                  - updatedOn
                properties:
                  ticketID:
                    type: string
                  number:
                    type: integer
                  title:
                    type: string
                  contact:
                    type: object
                    required:
                      - email
                    properties:
                      email:
                        type: string
                      name:
                        type: string
                  status:
                    type: string
                    enum:
                      - new
                      - in-progress
                      - on-hold
                      - closed
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  latestMessageOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                  foreignID:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  title:
                    type: string
                  body:
                    type: string
                  author:
                    type: string
                  contact:
                    type: object
                    properties:
                      email:
                        type: string
                      name:
                        type: string
                  foreignID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Support
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - title
                - body
                - contact
              properties:
                title:
                  type: string
                body:
                  type: string
                  format: html
                author:
                  type: string
                contact:
                  type: object
                  required:
                    - email
                  properties:
                    email:
                      type: string
                    name:
                      type: string
                foreignID:
                  type: string
              description: Request to create a new support ticket.
      x-codeSamples:
        - lang: typescript
          label: createTicket
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.support.createTicket({
                accountID: "4af4784a-c777-48f6-8211-063d5341f84b",
                createTicket: {
                  title: "<value>",
                  body: "<value>",
                  contact: {
                    email: "Melany.Roberts@yahoo.com",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createTicket
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createTicket = new Components\CreateTicket(
                title: '<value>',
                body: '<value>',
                contact: new Components\TicketContact(
                    email: 'Melany.Roberts@yahoo.com',
                ),
            );

            $response = $sdk->support->createTicket(
                accountID: '4af4784a-c777-48f6-8211-063d5341f84b',
                createTicket: $createTicket

            );

            if ($response->ticket !== null) {
                // handle response
            }
        - lang: python
          label: createTicket
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.support.create_ticket(account_id="4af4784a-c777-48f6-8211-063d5341f84b", title="<value>", body="<value>", contact={
                    "email": "Melany.Roberts@yahoo.com",
                })

                # Handle response
                print(res)
        - lang: java
          label: createTicket
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateTicket;
            import org.openapis.openapi.models.components.TicketContact;
            import org.openapis.openapi.models.errors.CreateTicketError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateTicketResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CreateTicketError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateTicketResponse res = sdk.support().createTicket()
                            .accountID("4af4784a-c777-48f6-8211-063d5341f84b")
                            .createTicket(CreateTicket.builder()
                                .title("<value>")
                                .body("<value>")
                                .contact(TicketContact.builder()
                                    .email("Melany.Roberts@yahoo.com")
                                    .build())
                                .build())
                            .call();

                    if (res.ticket().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createTicket
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.support.create_ticket(account_id: '4af4784a-c777-48f6-8211-063d5341f84b', create_ticket: Models::Components::CreateTicket.new(
              title: '<value>',
              body: '<value>',
              contact: Models::Components::TicketContact.new(
                email: 'Melany.Roberts@yahoo.com',
              ),
            ))

            unless res.ticket.nil?
              # handle response
            end
    get:
      operationId: listTickets
      description: |-
        List all the support tickets created under a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/tickets.read` scope.

        If you're listing another account's tickets, then you'll need to
        specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            description: The value used to retrieve a page of items.
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - new
              - in-progress
              - on-hold
              - closed
          explode: false
        - name: foreignID
          in: query
          required: false
          schema:
            type: string
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - items
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      required:
                        - ticketID
                        - number
                        - title
                        - contact
                        - status
                        - createdOn
                        - updatedOn
                      properties:
                        ticketID:
                          type: string
                        number:
                          type: integer
                        title:
                          type: string
                        contact:
                          type: object
                          required:
                            - email
                          properties:
                            email:
                              type: string
                            name:
                              type: string
                        status:
                          type: string
                          enum:
                            - new
                            - in-progress
                            - on-hold
                            - closed
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        latestMessageOn:
                          type: string
                          format: date-time
                        closedOn:
                          type: string
                          format: date-time
                        foreignID:
                          type: string
                  nextPage:
                    type: object
                    required:
                      - cursor
                    properties:
                      cursor:
                        type: string
                        description: The cursor value to use for the next page of items.
                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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Support
      x-codeSamples:
        - lang: typescript
          label: listTickets
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.support.listTickets({
                count: 20,
                accountID: "8ef75c13-2a50-4438-b294-2a850eb4986d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listTickets
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListTicketsRequest(
                count: 20,
                accountID: '8ef75c13-2a50-4438-b294-2a850eb4986d',
            );

            $response = $sdk->support->listTickets(
                request: $request
            );

            if ($response->object !== null) {
                // handle response
            }
        - lang: python
          label: listTickets
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.support.list_tickets(account_id="8ef75c13-2a50-4438-b294-2a850eb4986d", count=20)

                # Handle response
                print(res)
        - lang: java
          label: listTickets
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListTicketsRequest;
            import org.openapis.openapi.models.operations.ListTicketsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListTicketsRequest req = ListTicketsRequest.builder()
                            .accountID("8ef75c13-2a50-4438-b294-2a850eb4986d")
                            .count(20L)
                            .build();

                    ListTicketsResponse res = sdk.support().listTickets()
                            .request(req)
                            .call();

                    if (res.object().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listTickets
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListTicketsRequest.new(
              count: 20,
              account_id: '8ef75c13-2a50-4438-b294-2a850eb4986d',
            )

            res = s.support.list_tickets(request: req)

            unless res.object.nil?
              # handle response
            end
  /accounts/{accountID}/tickets/{ticketID}:
    get:
      operationId: getTicket
      description: |-
        Retrieve a support ticket by ID.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/tickets.read` scope.

        If you're retrieving another account's ticket, then you'll need to
        specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: ticketID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - ticketID
                  - number
                  - title
                  - contact
                  - status
                  - createdOn
                  - updatedOn
                properties:
                  ticketID:
                    type: string
                  number:
                    type: integer
                  title:
                    type: string
                  contact:
                    type: object
                    required:
                      - email
                    properties:
                      email:
                        type: string
                      name:
                        type: string
                  status:
                    type: string
                    enum:
                      - new
                      - in-progress
                      - on-hold
                      - closed
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  latestMessageOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                  foreignID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Support
      x-codeSamples:
        - lang: typescript
          label: getTicket
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.support.getTicket({
                accountID: "873ccb78-88b3-4520-85f2-7cc2aef5704b",
                ticketID: "91fea9bf-b373-40f7-86e0-2c80690126e4",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getTicket
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->support->getTicket(
                accountID: '873ccb78-88b3-4520-85f2-7cc2aef5704b',
                ticketID: '91fea9bf-b373-40f7-86e0-2c80690126e4'

            );

            if ($response->ticket !== null) {
                // handle response
            }
        - lang: python
          label: getTicket
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.support.get_ticket(account_id="873ccb78-88b3-4520-85f2-7cc2aef5704b", ticket_id="91fea9bf-b373-40f7-86e0-2c80690126e4")

                # Handle response
                print(res)
        - lang: java
          label: getTicket
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetTicketResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetTicketResponse res = sdk.support().getTicket()
                            .accountID("873ccb78-88b3-4520-85f2-7cc2aef5704b")
                            .ticketID("91fea9bf-b373-40f7-86e0-2c80690126e4")
                            .call();

                    if (res.ticket().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getTicket
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.support.get_ticket(account_id: '873ccb78-88b3-4520-85f2-7cc2aef5704b', ticket_id: '91fea9bf-b373-40f7-86e0-2c80690126e4')

            unless res.ticket.nil?
              # handle response
            end
    patch:
      operationId: updateTicket
      description: |-
        Updates a support ticket.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/tickets.write` scope.

        If you're updating the ticket on behalf of another account, then you'll need to
        specify the `/accounts/{partnerAccountID}/tickets.write` and `/accounts/{accountID}/profile.read` scopes.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: ticketID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - ticketID
                  - number
                  - title
                  - contact
                  - status
                  - createdOn
                  - updatedOn
                properties:
                  ticketID:
                    type: string
                  number:
                    type: integer
                  title:
                    type: string
                  contact:
                    type: object
                    required:
                      - email
                    properties:
                      email:
                        type: string
                      name:
                        type: string
                  status:
                    type: string
                    enum:
                      - new
                      - in-progress
                      - on-hold
                      - closed
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  latestMessageOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                  foreignID:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Support
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - closed
              description: Request to update a support ticket.
      x-codeSamples:
        - lang: typescript
          label: updateTicket
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.support.updateTicket({
                accountID: "7cce2b85-37c2-4c76-954c-03dcec2b12f0",
                ticketID: "1d621d17-8e7d-4ac0-9f7d-6e9fcebe8eef",
                updateTicket: {},
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateTicket
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateTicket = new Components\UpdateTicket();

            $response = $sdk->support->updateTicket(
                accountID: '7cce2b85-37c2-4c76-954c-03dcec2b12f0',
                ticketID: '1d621d17-8e7d-4ac0-9f7d-6e9fcebe8eef',
                updateTicket: $updateTicket

            );

            if ($response->ticket !== null) {
                // handle response
            }
        - lang: python
          label: updateTicket
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.support.update_ticket(account_id="7cce2b85-37c2-4c76-954c-03dcec2b12f0", ticket_id="1d621d17-8e7d-4ac0-9f7d-6e9fcebe8eef")

                # Handle response
                print(res)
        - lang: java
          label: updateTicket
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpdateTicket;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpdateTicketError;
            import org.openapis.openapi.models.operations.UpdateTicketResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpdateTicketError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateTicketResponse res = sdk.support().updateTicket()
                            .accountID("7cce2b85-37c2-4c76-954c-03dcec2b12f0")
                            .ticketID("1d621d17-8e7d-4ac0-9f7d-6e9fcebe8eef")
                            .updateTicket(UpdateTicket.builder()
                                .build())
                            .call();

                    if (res.ticket().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateTicket
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.support.update_ticket(account_id: '7cce2b85-37c2-4c76-954c-03dcec2b12f0', ticket_id: '1d621d17-8e7d-4ac0-9f7d-6e9fcebe8eef', update_ticket: Models::Components::UpdateTicket.new())

            unless res.ticket.nil?
              # handle response
            end
  /accounts/{accountID}/tickets/{ticketID}/messages:
    get:
      operationId: listTicketMessages
      description: |-
        List all the messages for a support ticket.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/tickets.read` scope.

        If you're listing another account's messages, then you'll need to
        specify the `/accounts/{partnerAccountID}/tickets.read` and `/accounts/{accountID}/profile.read` scopes.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: ticketID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - author
                    - body
                    - sentOn
                  properties:
                    author:
                      type: string
                    body:
                      type: string
                      format: html
                    sentOn:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Support
      x-codeSamples:
        - lang: typescript
          label: listTicketMessages
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.support.listTicketMessages({
                accountID: "72444918-8529-4986-b10c-41817e45d09e",
                ticketID: "edeaab65-c54c-45b8-881b-19138f125fb1",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listTicketMessages
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->support->listTicketMessages(
                accountID: '72444918-8529-4986-b10c-41817e45d09e',
                ticketID: 'edeaab65-c54c-45b8-881b-19138f125fb1'

            );

            if ($response->ticketMessages !== null) {
                // handle response
            }
        - lang: python
          label: listTicketMessages
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.support.list_ticket_messages(account_id="72444918-8529-4986-b10c-41817e45d09e", ticket_id="edeaab65-c54c-45b8-881b-19138f125fb1")

                # Handle response
                print(res)
        - lang: java
          label: listTicketMessages
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListTicketMessagesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListTicketMessagesResponse res = sdk.support().listTicketMessages()
                            .accountID("72444918-8529-4986-b10c-41817e45d09e")
                            .ticketID("edeaab65-c54c-45b8-881b-19138f125fb1")
                            .call();

                    if (res.ticketMessages().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listTicketMessages
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.support.list_ticket_messages(account_id: '72444918-8529-4986-b10c-41817e45d09e', ticket_id: 'edeaab65-c54c-45b8-881b-19138f125fb1')

            unless res.ticket_messages.nil?
              # handle response
            end
  /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 
        supply in the request body.

        The accountID in the route should the partner's accountID.

        Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The partner's Moov account ID.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  sourceOptions:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - wallet
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - moov-wallet
                            wallet:
                              type: object
                              required:
                                - walletID
                                - partnerAccountID
                                - walletType
                              properties:
                                walletID:
                                  type: string
                                  format: uuid
                                partnerAccountID:
                                  type: string
                                  format: uuid
                                walletType:
                                  type: string
                                  enum:
                                    - default
                                    - general
                                  description: |-
                                    Type of a wallet.
                                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                      - `general`: An additional, user-defined wallet created via API or Dashboard.
                          title: Moov wallet
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-debit-fund
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH debit fund
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-debit-collect
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH debit collect
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-credit-standard
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH credit standard
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-credit-same-day
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH credit same day
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - rtp-credit
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: RTP credit
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - card-payment
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Card payment
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - push-to-card
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Push to card
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - pull-from-card
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Pull from card
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - applePay
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - apple-pay
                            applePay:
                              type: object
                              required:
                                - brand
                                - cardType
                                - cardDisplayName
                                - fingerprint
                                - expiration
                                - dynamicLastFour
                              properties:
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                cardDisplayName:
                                  type: string
                                  description: |2-
                                      User-friendly name of the tokenized card returned by Apple.
                                      
                                      It usually contains the brand and the last four digits of the underlying card.
                                      There is no standard format.
                                  example: Visa 1256
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                dynamicLastFour:
                                  type: string
                                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                                issuerCountry:
                                  type: string
                                  description: Country where the underlying card was issued.
                                  example: US
                              description: Describes an Apple Pay token on a Moov account.
                          title: Apple Pay
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - card-present-payment
                            terminalCard:
                              type: object
                              properties:
                                entryMode:
                                  type: string
                                  enum:
                                    - contactless
                                  description: How the card information was entered into the point of sale terminal.
                                  example: contactless
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                applicationID:
                                  type: string
                                  description: Identifier for the point of sale terminal application.
                                applicationName:
                                  type: string
                                  description: Name label for the point of sale terminal application.
                              description: Describes payment card details captured with tap or in-person payment.
                              example:
                                entryMode: contactless
                                brand: Visa
                                bin: '123456'
                                cardType: credit
                                expiration:
                                  month: '01'
                                  year: '21'
                                fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                holderName: Jules Jackson
                                issuer: GRINGOTTS BANK
                                issuerCountry: US
                                lastFourCardNumber: '1234'
                          description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
                      discriminator:
                        propertyName: paymentMethodType
                        mapping:
                          moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                          ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                          ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                          ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                          ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                          rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                          card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                          push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                          pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                          apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                          card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
                      description: A method of moving money
                  destinationOptions:
                    type: array
                    items:
                      oneOf:
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - wallet
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - moov-wallet
                            wallet:
                              type: object
                              required:
                                - walletID
                                - partnerAccountID
                                - walletType
                              properties:
                                walletID:
                                  type: string
                                  format: uuid
                                partnerAccountID:
                                  type: string
                                  format: uuid
                                walletType:
                                  type: string
                                  enum:
                                    - default
                                    - general
                                  description: |-
                                    Type of a wallet.
                                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                      - `general`: An additional, user-defined wallet created via API or Dashboard.
                          title: Moov wallet
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-debit-fund
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH debit fund
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-debit-collect
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH debit collect
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-credit-standard
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH credit standard
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - ach-credit-same-day
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: ACH credit same day
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - bankAccount
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - rtp-credit
                            bankAccount:
                              type: object
                              required:
                                - bankAccountID
                                - fingerprint
                                - status
                                - holderName
                                - holderType
                                - bankName
                                - bankAccountType
                                - routingNumber
                                - lastFourAccountNumber
                                - updatedOn
                              properties:
                                bankAccountID:
                                  type: string
                                  format: uuid
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Once the bank account is linked, we don't reveal the full bank account number.

                                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                                status:
                                  type: string
                                  enum:
                                    - new
                                    - verified
                                    - verificationFailed
                                    - pending
                                    - errored
                                holderName:
                                  type: string
                                holderType:
                                  type: string
                                  enum:
                                    - individual
                                    - business
                                    - guest
                                  description: The type of holder on a funding source.
                                bankName:
                                  type: string
                                bankAccountType:
                                  type: string
                                  enum:
                                    - checking
                                    - savings
                                    - general-ledger
                                    - loan
                                  description: The bank account type.
                                routingNumber:
                                  type: string
                                lastFourAccountNumber:
                                  type: string
                                updatedOn:
                                  type: string
                                  format: date-time
                              description: A bank account as contained within a payment method.
                          title: RTP credit
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - card-payment
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Card payment
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - push-to-card
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Push to card
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - card
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - pull-from-card
                            card:
                              type: object
                              required:
                                - cardID
                                - fingerprint
                                - brand
                                - cardType
                                - lastFourCardNumber
                                - bin
                                - expiration
                                - billingAddress
                                - cardVerification
                              properties:
                                cardID:
                                  type: string
                                  format: uuid
                                  description: ID of the card.
                                  example: 01234567-89ab-cdef-0123-456789abcdef
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                billingAddress:
                                  type: object
                                  required:
                                    - postalCode
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                    city:
                                      type: string
                                      maxLength: 32
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                    postalCode:
                                      type: string
                                      maxLength: 10
                                    country:
                                      type: string
                                      maxLength: 2
                                  example:
                                    addressLine1: 123 Main Street
                                    addressLine2: Apt 302
                                    city: Boulder
                                    stateOrProvince: CO
                                    postalCode: '80301'
                                    country: US
                                cardVerification:
                                  type: object
                                  required:
                                    - cvv
                                    - addressLine1
                                    - postalCode
                                  properties:
                                    cvv:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    addressLine1:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    postalCode:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    accountName:
                                      type: object
                                      properties:
                                        firstName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        lastName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        middleName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                        fullName:
                                          type: string
                                          enum:
                                            - noMatch
                                            - match
                                            - notChecked
                                            - unavailable
                                            - partialMatch
                                          example: match
                                      description: The results of submitting cardholder name to a card network for verification.
                                      example:
                                        firstName: match
                                        lastName: match
                                        middleName: match
                                        fullName: match
                                  description: The results of submitting cardholder data to a card network for verification.
                                  example:
                                    cvv: match
                                    addressLine1: match
                                    postalCode: match
                                    accountName:
                                      firstName: match
                                      lastName: match
                                      middleName: match
                                      fullName: match
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                cardOnFile:
                                  type: boolean
                                  description: Indicates cardholder has authorized card to be stored for future payments.
                                merchantAccountID:
                                  type: string
                                  format: uuid
                                cardAccountUpdater:
                                  type: object
                                  properties:
                                    updatedOn:
                                      type: string
                                      format: date-time
                                    updateType:
                                      type: string
                                      enum:
                                        - unspecified
                                        - account-closed
                                        - contact-cardholder
                                        - expiration-update
                                        - no-change
                                        - no-match
                                        - number-update
                                      description: The results of the card update request.
                                      example: number-update
                                  description: The results of the most recent card update request.
                                  example:
                                    updatedOn: '2024-05-06T12:20:38.184Z'
                                    updateType: number-update
                                domesticPushToCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - standard
                                    - fast-funds
                                    - unknown
                                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                                  example: standard
                                domesticPullFromCard:
                                  type: string
                                  enum:
                                    - not-supported
                                    - supported
                                    - unknown
                                  description: Indicates if the card supports domestic pull-from-card transfer.
                                  example: supported
                              description: A card as contained within a payment method.
                          title: Pull from card
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                            - applePay
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - apple-pay
                            applePay:
                              type: object
                              required:
                                - brand
                                - cardType
                                - cardDisplayName
                                - fingerprint
                                - expiration
                                - dynamicLastFour
                              properties:
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                cardDisplayName:
                                  type: string
                                  description: |2-
                                      User-friendly name of the tokenized card returned by Apple.
                                      
                                      It usually contains the brand and the last four digits of the underlying card.
                                      There is no standard format.
                                  example: Visa 1256
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                dynamicLastFour:
                                  type: string
                                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                                issuerCountry:
                                  type: string
                                  description: Country where the underlying card was issued.
                                  example: US
                              description: Describes an Apple Pay token on a Moov account.
                          title: Apple Pay
                        - type: object
                          required:
                            - paymentMethodID
                            - paymentMethodType
                          properties:
                            paymentMethodID:
                              type: string
                              format: uuid
                              description: ID of the payment method.
                            paymentMethodType:
                              type: string
                              enum:
                                - card-present-payment
                            terminalCard:
                              type: object
                              properties:
                                entryMode:
                                  type: string
                                  enum:
                                    - contactless
                                  description: How the card information was entered into the point of sale terminal.
                                  example: contactless
                                brand:
                                  type: string
                                  enum:
                                    - American Express
                                    - Discover
                                    - Mastercard
                                    - Visa
                                    - Unknown
                                  description: The card brand.
                                  example: Visa
                                bin:
                                  type: string
                                  minLength: 6
                                  maxLength: 8
                                cardType:
                                  type: string
                                  enum:
                                    - debit
                                    - credit
                                    - prepaid
                                    - unknown
                                  description: The type of the card.
                                  example: credit
                                expiration:
                                  type: object
                                  required:
                                    - month
                                    - year
                                  properties:
                                    month:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                    year:
                                      type: string
                                      minLength: 2
                                      maxLength: 2
                                  description: The expiration date of the card or token.
                                  example:
                                    month: '01'
                                    year: '21'
                                fingerprint:
                                  type: string
                                  maxLength: 100
                                  description: |-
                                    Uniquely identifies a linked payment card or token.
                                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                holderName:
                                  type: string
                                  description: The name of the cardholder as it appears on the card.
                                issuer:
                                  type: string
                                  description: Financial institution that issued the card.
                                issuerCountry:
                                  type: string
                                  description: Country where the card was issued.
                                lastFourCardNumber:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  description: Last four digits of the card number
                                applicationID:
                                  type: string
                                  description: Identifier for the point of sale terminal application.
                                applicationName:
                                  type: string
                                  description: Name label for the point of sale terminal application.
                              description: Describes payment card details captured with tap or in-person payment.
                              example:
                                entryMode: contactless
                                brand: Visa
                                bin: '123456'
                                cardType: credit
                                expiration:
                                  month: '01'
                                  year: '21'
                                fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                                holderName: Jules Jackson
                                issuer: GRINGOTTS BANK
                                issuerCountry: US
                                lastFourCardNumber: '1234'
                          description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
                      discriminator:
                        propertyName: paymentMethodType
                        mapping:
                          moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                          ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                          ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                          ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                          ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                          rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                          card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                          push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                          pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                          apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                          card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
                      description: A method of moving money
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amount:
                    type: string
                  source:
                    type: string
                  destination:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - source
                - destination
                - amount
              properties:
                source:
                  type: object
                  properties:
                    accountID:
                      type: string
                      format: uuid
                    paymentMethodID:
                      type: string
                      format: uuid
                destination:
                  type: object
                  properties:
                    accountID:
                      type: string
                      format: uuid
                    paymentMethodID:
                      type: string
                      format: uuid
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
      x-speakeasy-name-override: generateOptions
      x-codeSamples:
        - lang: typescript
          label: createTransferOptions
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.generateOptions({
                accountID: "deafe3cf-31d4-4dcc-8176-3d6bf8bb4f04",
                createTransferOptions: {
                  source: {},
                  destination: {},
                  amount: {
                    currency: "USD",
                    value: 1204,
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createTransferOptions
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createTransferOptions = new Components\CreateTransferOptions(
                source: new Components\SourceDestinationOptions(),
                destination: new Components\SourceDestinationOptions(),
                amount: new Components\Amount(
                    currency: 'USD',
                    value: 1204,
                ),
            );

            $response = $sdk->transfers->generateOptions(
                accountID: 'deafe3cf-31d4-4dcc-8176-3d6bf8bb4f04',
                createTransferOptions: $createTransferOptions

            );

            if ($response->transferOptions !== null) {
                // handle response
            }
        - lang: python
          label: createTransferOptions
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.generate_options(account_id="deafe3cf-31d4-4dcc-8176-3d6bf8bb4f04", source={}, destination={}, amount={
                    "currency": "USD",
                    "value": 1204,
                })

                # Handle response
                print(res)
        - lang: java
          label: createTransferOptions
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.TransferOptionsValidationError;
            import org.openapis.openapi.models.operations.CreateTransferOptionsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, TransferOptionsValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateTransferOptionsResponse res = sdk.transfers().generateOptions()
                            .accountID("deafe3cf-31d4-4dcc-8176-3d6bf8bb4f04")
                            .createTransferOptions(CreateTransferOptions.builder()
                                .source(SourceDestinationOptions.builder()
                                    .build())
                                .destination(SourceDestinationOptions.builder()
                                    .build())
                                .amount(Amount.builder()
                                    .currency("USD")
                                    .value(1204L)
                                    .build())
                                .build())
                            .call();

                    if (res.transferOptions().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createTransferOptions
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.generate_options(account_id: 'deafe3cf-31d4-4dcc-8176-3d6bf8bb4f04', create_transfer_options: Models::Components::CreateTransferOptions.new(
              source: Models::Components::SourceDestinationOptions.new(),
              destination: Models::Components::SourceDestinationOptions.new(),
              amount: Models::Components::Amount.new(
                currency: 'USD',
                value: 1204,
              ),
            ))

            unless res.transfer_options.nil?
              # handle response
            end
  /accounts/{accountID}/transfers:
    post:
      operationId: createTransfer
      description: |-
        Move money by providing the source, destination, and amount in the request body.

        Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: x-idempotency-key
          in: header
          required: true
          description: Prevents duplicate transfers from being created.
          schema:
            type: string
            format: uuid
        - 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 
            asynchronous response indicating the transfer was created (this is the default response if the header is omitted). A timeout will occur after 15 seconds.
          schema:
            type: string
            enum:
              - rail-response
        - name: accountID
          in: path
          required: true
          description: Your Moov account ID.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                  source:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: UUID present only if the transfer is part of a transfer group.
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      rtpDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - completed
                              - failed
                              - accepted-without-posting
                            description: Status of a transaction within the RTP lifecycle.
                          networkResponseCode:
                            type: string
                            description: Response code returned by network on failure.
                          failureCode:
                            type: string
                            enum:
                              - processing-error
                              - invalid-account
                              - account-closed
                              - account-blocked
                              - invalid-field
                              - transaction-not-supported
                              - limit-exceeded
                              - invalid-amount
                              - customer-deceased
                              - other
                            description: Status codes for RTP failures.
                          initiatedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          acceptedWithoutPostingOn:
                            type: string
                            format: date-time
                        description: RTP specific details about the transaction.
                  completedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                      - reversed
                      - queued
                      - canceled
                    description: Status of a transfer.
                  failureReason:
                    type: string
                    enum:
                      - source-payment-error
                      - destination-payment-error
                      - wallet-insufficient-funds
                      - rejected-high-risk
                      - processing-error
                    description: Reason for a transfer's failure.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  description:
                    type: string
                    maxLength: 128
                    description: An optional description of the transfer that is used on receipts and for your own internal use.
                    example: Pay Instructor for May 15 Class
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  facilitatorFee:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                        description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                      totalDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                          Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '12.987654321'
                      markup:
                        type: integer
                        format: int64
                        description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                      markupDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                          Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '0.987654321'
                    description: Total or markup fee.
                  moovFee:
                    type: integer
                    format: int64
                    description: Fees charged to your platform account for transfers.
                  moovFeeDecimal:
                    type: string
                    description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                  moovFeeDetails:
                    type: object
                    required:
                      - moovProcessing
                    properties:
                      cardScheme:
                        type: string
                        description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                      interchange:
                        type: string
                        description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                      discount:
                        type: string
                        description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                      moovProcessing:
                        type: string
                        description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                    description: Processing and pass-through costs that add up to the moovFee.
                  groupID:
                    type: string
                  cancellations:
                    type: array
                    items:
                      type: object
                      required:
                        - cancellationID
                        - status
                        - createdOn
                      properties:
                        cancellationID:
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - completed
                            - failed
                        createdOn:
                          type: string
                          format: date-time
                  refundedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  refunds:
                    type: array
                    items:
                      type: object
                      required:
                        - refundID
                        - createdOn
                        - updatedOn
                        - status
                        - amount
                      properties:
                        refundID:
                          type: string
                          format: uuid
                          description: Identifier for the refund.
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - created
                            - pending
                            - completed
                            - failed
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - settled
                                - failed
                                - completed
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                      description: Details of a card refund.
                      title: Sync
                  disputedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  disputes:
                    type: array
                    items:
                      type: object
                      required:
                        - disputeID
                        - createdOn
                        - amount
                      properties:
                        disputeID:
                          type: string
                          format: uuid
                        createdOn:
                          type: string
                          format: date-time
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Details of a card dispute.
                  sweepID:
                    type: string
                  scheduleID:
                    type: string
                  occurrenceID:
                    type: string
                  paymentLinkCode:
                    type: string
                  salesTaxAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                  foreignID:
                    type: string
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                title: Async
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                  - source
                  - destination
                  - status
                  - amount
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                  source:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: UUID present only if the transfer is part of a transfer group.
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      rtpDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - completed
                              - failed
                              - accepted-without-posting
                            description: Status of a transaction within the RTP lifecycle.
                          networkResponseCode:
                            type: string
                            description: Response code returned by network on failure.
                          failureCode:
                            type: string
                            enum:
                              - processing-error
                              - invalid-account
                              - account-closed
                              - account-blocked
                              - invalid-field
                              - transaction-not-supported
                              - limit-exceeded
                              - invalid-amount
                              - customer-deceased
                              - other
                            description: Status codes for RTP failures.
                          initiatedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          acceptedWithoutPostingOn:
                            type: string
                            format: date-time
                        description: RTP specific details about the transaction.
                  completedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                      - reversed
                      - queued
                      - canceled
                    description: Status of a transfer.
                  failureReason:
                    type: string
                    enum:
                      - source-payment-error
                      - destination-payment-error
                      - wallet-insufficient-funds
                      - rejected-high-risk
                      - processing-error
                    description: Reason for a transfer's failure.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  description:
                    type: string
                    maxLength: 128
                    description: An optional description of the transfer that is used on receipts and for your own internal use.
                    example: Pay Instructor for May 15 Class
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  facilitatorFee:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                        description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                      totalDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                          Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '12.987654321'
                      markup:
                        type: integer
                        format: int64
                        description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                      markupDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                          Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '0.987654321'
                    description: Total or markup fee.
                  moovFee:
                    type: integer
                    format: int64
                    description: Fees charged to your platform account for transfers.
                  moovFeeDecimal:
                    type: string
                    description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                  moovFeeDetails:
                    type: object
                    required:
                      - moovProcessing
                    properties:
                      cardScheme:
                        type: string
                        description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                      interchange:
                        type: string
                        description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                      discount:
                        type: string
                        description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                      moovProcessing:
                        type: string
                        description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                    description: Processing and pass-through costs that add up to the moovFee.
                  moovFees:
                    type: array
                    items:
                      type: object
                      required:
                        - accountID
                        - transferParty
                        - totalAmount
                        - feeIDs
                      properties:
                        accountID:
                          type: string
                          description: ID of the account that fees were charged to.
                        transferParty:
                          allOf:
                            - type: string
                              enum:
                                - source
                                - destination
                                - partner
                          description: Indicates whether the account charged was the partner, source, or destination of the transfer.
                        totalAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount of fees charged to the account.
                        feeIDs:
                          type: array
                          items:
                            type: string
                          description: List of fee IDs that sum to the totalAmount.
                      description: Moov fee charged to an account involved in a transfer.
                    description: Fees charged to accounts involved in the transfer.
                  groupID:
                    type: string
                  cancellations:
                    type: array
                    items:
                      type: object
                      required:
                        - cancellationID
                        - status
                        - createdOn
                      properties:
                        cancellationID:
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - completed
                            - failed
                        createdOn:
                          type: string
                          format: date-time
                  refundedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  refunds:
                    type: array
                    items:
                      type: object
                      required:
                        - refundID
                        - createdOn
                        - updatedOn
                        - status
                        - amount
                      properties:
                        refundID:
                          type: string
                          format: uuid
                          description: Identifier for the refund.
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - created
                            - pending
                            - completed
                            - failed
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - settled
                                - failed
                                - completed
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                      description: Details of a card refund.
                      title: Sync
                  disputedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  disputes:
                    type: array
                    items:
                      type: object
                      required:
                        - disputeID
                        - createdOn
                        - amount
                      properties:
                        disputeID:
                          type: string
                          format: uuid
                        createdOn:
                          type: string
                          format: date-time
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Details of a card dispute.
                  sweepID:
                    type: string
                  scheduleID:
                    type: string
                  occurrenceID:
                    type: string
                  paymentLinkCode:
                    type: string
                  salesTaxAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                  foreignID:
                    type: string
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                description: Details of a Transfer.
                title: Sync
                example:
                  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'
                  moovFees:
                    - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
                      transferParty: source
                      totalAmount:
                        currency: USD
                        valueDecimal: '0.1'
                      feeIDs:
                        - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                  - source
                  - destination
                  - status
                  - amount
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                  source:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: UUID present only if the transfer is part of a transfer group.
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      rtpDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - completed
                              - failed
                              - accepted-without-posting
                            description: Status of a transaction within the RTP lifecycle.
                          networkResponseCode:
                            type: string
                            description: Response code returned by network on failure.
                          failureCode:
                            type: string
                            enum:
                              - processing-error
                              - invalid-account
                              - account-closed
                              - account-blocked
                              - invalid-field
                              - transaction-not-supported
                              - limit-exceeded
                              - invalid-amount
                              - customer-deceased
                              - other
                            description: Status codes for RTP failures.
                          initiatedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          acceptedWithoutPostingOn:
                            type: string
                            format: date-time
                        description: RTP specific details about the transaction.
                  completedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                      - reversed
                      - queued
                      - canceled
                    description: Status of a transfer.
                  failureReason:
                    type: string
                    enum:
                      - source-payment-error
                      - destination-payment-error
                      - wallet-insufficient-funds
                      - rejected-high-risk
                      - processing-error
                    description: Reason for a transfer's failure.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  description:
                    type: string
                    maxLength: 128
                    description: An optional description of the transfer that is used on receipts and for your own internal use.
                    example: Pay Instructor for May 15 Class
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  facilitatorFee:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                        description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                      totalDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                          Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '12.987654321'
                      markup:
                        type: integer
                        format: int64
                        description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                      markupDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                          Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '0.987654321'
                    description: Total or markup fee.
                  moovFee:
                    type: integer
                    format: int64
                    description: Fees charged to your platform account for transfers.
                  moovFeeDecimal:
                    type: string
                    description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                  moovFeeDetails:
                    type: object
                    required:
                      - moovProcessing
                    properties:
                      cardScheme:
                        type: string
                        description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                      interchange:
                        type: string
                        description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                      discount:
                        type: string
                        description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                      moovProcessing:
                        type: string
                        description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                    description: Processing and pass-through costs that add up to the moovFee.
                  moovFees:
                    type: array
                    items:
                      type: object
                      required:
                        - accountID
                        - transferParty
                        - totalAmount
                        - feeIDs
                      properties:
                        accountID:
                          type: string
                          description: ID of the account that fees were charged to.
                        transferParty:
                          allOf:
                            - type: string
                              enum:
                                - source
                                - destination
                                - partner
                          description: Indicates whether the account charged was the partner, source, or destination of the transfer.
                        totalAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount of fees charged to the account.
                        feeIDs:
                          type: array
                          items:
                            type: string
                          description: List of fee IDs that sum to the totalAmount.
                      description: Moov fee charged to an account involved in a transfer.
                    description: Fees charged to accounts involved in the transfer.
                  groupID:
                    type: string
                  cancellations:
                    type: array
                    items:
                      type: object
                      required:
                        - cancellationID
                        - status
                        - createdOn
                      properties:
                        cancellationID:
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - completed
                            - failed
                        createdOn:
                          type: string
                          format: date-time
                  refundedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  refunds:
                    type: array
                    items:
                      type: object
                      required:
                        - refundID
                        - createdOn
                        - updatedOn
                        - status
                        - amount
                      properties:
                        refundID:
                          type: string
                          format: uuid
                          description: Identifier for the refund.
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - created
                            - pending
                            - completed
                            - failed
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - settled
                                - failed
                                - completed
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                      description: Details of a card refund.
                      title: Sync
                  disputedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  disputes:
                    type: array
                    items:
                      type: object
                      required:
                        - disputeID
                        - createdOn
                        - amount
                      properties:
                        disputeID:
                          type: string
                          format: uuid
                        createdOn:
                          type: string
                          format: date-time
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Details of a card dispute.
                  sweepID:
                    type: string
                  scheduleID:
                    type: string
                  occurrenceID:
                    type: string
                  paymentLinkCode:
                    type: string
                  salesTaxAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                  foreignID:
                    type: string
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                description: Details of a Transfer.
                title: Sync
                example:
                  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'
                  moovFees:
                    - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
                      transferParty: source
                      totalAmount:
                        currency: USD
                        valueDecimal: '0.1'
                      feeIDs:
                        - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amount:
                    type: string
                  source:
                    type: string
                  sourcePaymentMethodID:
                    type: string
                  destinationPaymentMethodID:
                    type: string
                  description:
                    type: string
                  FacilitatorFee.TotalDecimal:
                    type: string
                  FacilitatorFee.MarkupDecimal:
                    type: string
                  metadata:
                    type: string
                  salesTaxAmount:
                    type: string
                  foreignID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - source
                - destination
                - amount
              properties:
                source:
                  type: object
                  properties:
                    transferID:
                      type: string
                      format: uuid
                      description: |-
                        A `transferID` is used to create a [transfer group](https://docs.moov.io/guides/money-movement/transfer-groups/),
                        associating the new transfer with a parent transfer.
                    paymentMethodID:
                      type: string
                      format: uuid
                    paymentToken:
                      type: string
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                        transactionSource:
                          type: string
                          enum:
                            - first-recurring
                            - recurring
                            - unscheduled
                          description: |-
                            Specifies the nature and initiator of a transaction. 

                            Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                            Omit for customer-initiated e-commerce transactions.
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                        debitHoldPeriod:
                          type: string
                          enum:
                            - no-hold
                            - 1-day
                            - 2-days
                          description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                          example: 2-days
                        secCode:
                          type: string
                          enum:
                            - WEB
                            - PPD
                            - CCD
                            - TEL
                          description: Code used to identify the ACH authorization method.
                  description: Where funds for a transfer originate. For the source, you must include either a `paymentMethodID` or a `transferID`.
                destination:
                  type: object
                  required:
                    - paymentMethodID
                  properties:
                    paymentMethodID:
                      type: string
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                  description: The final stage of a transfer and the ultimate recipient of the funds.
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                facilitatorFee:
                  type: object
                  properties:
                    total:
                      type: integer
                      format: int64
                      description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                    totalDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                        Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                      example: '12.987654321'
                    markup:
                      type: integer
                      format: int64
                      description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                    markupDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                        Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                      example: '0.987654321'
                  description: Total or markup fee.
                description:
                  type: string
                  maxLength: 256
                  description: An optional description of the transfer that is used on receipts and for your own internal use.
                  example: Pay Instructor for May 15 Class
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                  example:
                    optional: metadata
                salesTaxAmount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                  description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                foreignID:
                  type: string
                  description: Optional alias from a foreign/external system which can be used to reference this resource.
              example:
                source:
                  paymentMethodID: 9506dbf6-4208-44c3-ad8a-e4431660e1f2
                destination:
                  paymentMethodID: 3f9969cf-a1f3-4d83-8ddc-229a506651cf
                amount:
                  currency: USD
                  value: 32945
                description: Transfer from card to wallet
                metadata:
                  optional: metadata
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createTransfer
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.create({
                xIdempotencyKey: "d6903402-776f-48d6-8fba-0358959d34e5",
                accountID: "ea9f2225-403b-4e2c-93b0-0eda090ffa65",
                createTransfer: {
                  source: {
                    paymentMethodID: "9506dbf6-4208-44c3-ad8a-e4431660e1f2",
                  },
                  destination: {
                    paymentMethodID: "3f9969cf-a1f3-4d83-8ddc-229a506651cf",
                  },
                  amount: {
                    currency: "USD",
                    value: 32945,
                  },
                  description: "Transfer from card to wallet",
                  metadata: {
                    "optional": "metadata",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createTransfer
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\CreateTransferRequest(
                xIdempotencyKey: 'd6903402-776f-48d6-8fba-0358959d34e5',
                accountID: 'ea9f2225-403b-4e2c-93b0-0eda090ffa65',
                createTransfer: new Components\CreateTransfer(
                    source: new Components\CreateTransferSource(
                        paymentMethodID: '9506dbf6-4208-44c3-ad8a-e4431660e1f2',
                    ),
                    destination: new Components\CreateTransferDestination(
                        paymentMethodID: '3f9969cf-a1f3-4d83-8ddc-229a506651cf',
                    ),
                    amount: new Components\Amount(
                        currency: 'USD',
                        value: 32945,
                    ),
                    description: 'Transfer from card to wallet',
                    metadata: [
                        'optional' => 'metadata',
                    ],
                ),
            );

            $response = $sdk->transfers->create(
                request: $request
            );

            if ($response->createdTransfer !== null) {
                // handle response
            }
        - lang: python
          label: createTransfer
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.create(x_idempotency_key="d6903402-776f-48d6-8fba-0358959d34e5", account_id="ea9f2225-403b-4e2c-93b0-0eda090ffa65", source={
                    "payment_method_id": "9506dbf6-4208-44c3-ad8a-e4431660e1f2",
                }, destination={
                    "payment_method_id": "3f9969cf-a1f3-4d83-8ddc-229a506651cf",
                }, amount={
                    "currency": "USD",
                    "value": 32945,
                }, facilitator_fee={
                    "total_decimal": "12.987654321",
                    "markup_decimal": "0.987654321",
                }, description="Transfer from card to wallet", metadata={
                    "optional": "metadata",
                }, sales_tax_amount={
                    "currency": "USD",
                    "value": 1204,
                })

                # Handle response
                print(res)
        - lang: java
          label: createTransfer
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.Map;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.*;
            import org.openapis.openapi.models.operations.CreateTransferResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, TransferException, TransferValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateTransferResponse res = sdk.transfers().create()
                            .xIdempotencyKey("d6903402-776f-48d6-8fba-0358959d34e5")
                            .accountID("ea9f2225-403b-4e2c-93b0-0eda090ffa65")
                            .createTransfer(CreateTransfer.builder()
                                .source(CreateTransferSource.builder()
                                    .paymentMethodID("9506dbf6-4208-44c3-ad8a-e4431660e1f2")
                                    .build())
                                .destination(CreateTransferDestination.builder()
                                    .paymentMethodID("3f9969cf-a1f3-4d83-8ddc-229a506651cf")
                                    .build())
                                .amount(Amount.builder()
                                    .currency("USD")
                                    .value(32945L)
                                    .build())
                                .description("Transfer from card to wallet")
                                .metadata(Map.ofEntries(
                                    Map.entry("optional", "metadata")))
                                .build())
                            .call();

                    if (res.createdTransfer().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createTransfer
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::CreateTransferRequest.new(
              x_idempotency_key: 'd6903402-776f-48d6-8fba-0358959d34e5',
              account_id: 'ea9f2225-403b-4e2c-93b0-0eda090ffa65',
              create_transfer: Models::Components::CreateTransfer.new(
                source: Models::Components::CreateTransferSource.new(
                  payment_method_id: '9506dbf6-4208-44c3-ad8a-e4431660e1f2',
                ),
                destination: Models::Components::CreateTransferDestination.new(
                  payment_method_id: '3f9969cf-a1f3-4d83-8ddc-229a506651cf',
                ),
                amount: Models::Components::Amount.new(
                  currency: 'USD',
                  value: 32_945,
                ),
                description: 'Transfer from card to wallet',
                metadata: {
                  "optional": 'metadata',
                },
              ),
            )

            res = s.transfers.create(request: req)

            unless res.created_transfer.nil?
              # handle response
            end
    get:
      operationId: listTransfers
      description: |-
        List all the transfers associated with a particular Moov account. 

        Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more. 

        When 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, 
        if 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 
        process very slowly. To achieve faster performance, restrict the data as much as you can by using the `StartDateTime` and `EndDateTime` parameters for a limited 
        period of time. You can run multiple requests in smaller time window increments until you've retrieved all the transfers you need.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountIDs
          in: query
          required: false
          description: Optional, comma-separated account IDs by which the response is filtered based on whether the account ID is the source or destination.
          schema:
            type: array
            items:
              type: string
          explode: false
        - name: status
          in: query
          required: false
          description: Optional parameter for filtering transfers by status.
          schema:
            type: string
            enum:
              - created
              - pending
              - completed
              - failed
              - reversed
              - queued
              - canceled
            description: Status of a transfer.
          explode: false
        - name: startDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all transfers created after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: endDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all transfers created before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: groupID
          in: query
          required: false
          description: Optional ID to filter for transfers in the same group.
          schema:
            type: string
            format: uuid
          explode: false
        - name: scheduleID
          in: query
          required: false
          description: Optional ID to filter for transfer occurrences belonging to the same schedule.
          schema:
            type: string
            format: uuid
          explode: false
        - name: paymentLinkCode
          in: query
          required: false
          description: Optional code to filter for transfers associated with the payment link.
          schema:
            type: string
          explode: false
        - name: refunded
          in: query
          required: false
          description: Optional parameter to only return refunded transfers.
          schema:
            type: boolean
          explode: false
        - name: disputed
          in: query
          required: false
          description: Optional parameter to only return disputed transfers.
          schema:
            type: boolean
          explode: false
        - name: foreignID
          in: query
          required: false
          description: Optional alias from a foreign/external system which can be used to reference this resource.
          schema:
            type: string
          explode: false
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - transferID
                    - createdOn
                    - source
                    - destination
                    - status
                    - amount
                  properties:
                    transferID:
                      type: string
                      format: uuid
                    createdOn:
                      type: string
                      format: date-time
                    source:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - account
                      properties:
                        transferID:
                          type: string
                          format: uuid
                          description: UUID present only if the transfer is part of a transfer group.
                        paymentMethodID:
                          type: string
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                        account:
                          type: object
                          required:
                            - accountID
                            - email
                            - displayName
                          properties:
                            accountID:
                              type: string
                            email:
                              type: string
                            displayName:
                              type: string
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                        wallet:
                          type: object
                          required:
                            - walletID
                            - partnerAccountID
                            - walletType
                          properties:
                            walletID:
                              type: string
                              format: uuid
                            partnerAccountID:
                              type: string
                              format: uuid
                            walletType:
                              type: string
                              enum:
                                - default
                                - general
                              description: |-
                                Type of a wallet.
                                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                  - `general`: An additional, user-defined wallet created via API or Dashboard.
                        card:
                          type: object
                          required:
                            - cardID
                            - fingerprint
                            - brand
                            - cardType
                            - lastFourCardNumber
                            - bin
                            - expiration
                            - billingAddress
                            - cardVerification
                          properties:
                            cardID:
                              type: string
                              format: uuid
                              description: ID of the card.
                              example: 01234567-89ab-cdef-0123-456789abcdef
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            billingAddress:
                              type: object
                              required:
                                - postalCode
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                city:
                                  type: string
                                  maxLength: 32
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                postalCode:
                                  type: string
                                  maxLength: 10
                                country:
                                  type: string
                                  maxLength: 2
                              example:
                                addressLine1: 123 Main Street
                                addressLine2: Apt 302
                                city: Boulder
                                stateOrProvince: CO
                                postalCode: '80301'
                                country: US
                            cardVerification:
                              type: object
                              required:
                                - cvv
                                - addressLine1
                                - postalCode
                              properties:
                                cvv:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                addressLine1:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                postalCode:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                accountName:
                                  type: object
                                  properties:
                                    firstName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    lastName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    middleName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    fullName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                  description: The results of submitting cardholder name to a card network for verification.
                                  example:
                                    firstName: match
                                    lastName: match
                                    middleName: match
                                    fullName: match
                              description: The results of submitting cardholder data to a card network for verification.
                              example:
                                cvv: match
                                addressLine1: match
                                postalCode: match
                                accountName:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            cardOnFile:
                              type: boolean
                              description: Indicates cardholder has authorized card to be stored for future payments.
                            merchantAccountID:
                              type: string
                              format: uuid
                            cardAccountUpdater:
                              type: object
                              properties:
                                updatedOn:
                                  type: string
                                  format: date-time
                                updateType:
                                  type: string
                                  enum:
                                    - unspecified
                                    - account-closed
                                    - contact-cardholder
                                    - expiration-update
                                    - no-change
                                    - no-match
                                    - number-update
                                  description: The results of the card update request.
                                  example: number-update
                              description: The results of the most recent card update request.
                              example:
                                updatedOn: '2024-05-06T12:20:38.184Z'
                                updateType: number-update
                            domesticPushToCard:
                              type: string
                              enum:
                                - not-supported
                                - standard
                                - fast-funds
                                - unknown
                              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                              example: standard
                            domesticPullFromCard:
                              type: string
                              enum:
                                - not-supported
                                - supported
                                - unknown
                              description: Indicates if the card supports domestic pull-from-card transfer.
                              example: supported
                          description: A card as contained within a payment method.
                        applePay:
                          type: object
                          required:
                            - brand
                            - cardType
                            - cardDisplayName
                            - fingerprint
                            - expiration
                            - dynamicLastFour
                          properties:
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            cardDisplayName:
                              type: string
                              description: |2-
                                  User-friendly name of the tokenized card returned by Apple.
                                  
                                  It usually contains the brand and the last four digits of the underlying card.
                                  There is no standard format.
                              example: Visa 1256
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            dynamicLastFour:
                              type: string
                              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                            issuerCountry:
                              type: string
                              description: Country where the underlying card was issued.
                              example: US
                          description: Describes an Apple Pay token on a Moov account.
                        terminalCard:
                          type: object
                          properties:
                            entryMode:
                              type: string
                              enum:
                                - contactless
                              description: How the card information was entered into the point of sale terminal.
                              example: contactless
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            applicationID:
                              type: string
                              description: Identifier for the point of sale terminal application.
                            applicationName:
                              type: string
                              description: Name label for the point of sale terminal application.
                          description: Describes payment card details captured with tap or in-person payment.
                          example:
                            entryMode: contactless
                            brand: Visa
                            bin: '123456'
                            cardType: credit
                            expiration:
                              month: '01'
                              year: '21'
                            fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            holderName: Jules Jackson
                            issuer: GRINGOTTS BANK
                            issuerCountry: US
                            lastFourCardNumber: '1234'
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - canceled
                                - settled
                                - failed
                                - completed
                              description: Status of a transaction within the card payment lifecycle.
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            dynamicDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                              example: WhlBdy *Yoga 11-12
                            transactionSource:
                              type: string
                              enum:
                                - first-recurring
                                - recurring
                                - unscheduled
                              description: |-
                                Specifies the nature and initiator of a transaction. 

                                Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                                Omit for customer-initiated e-commerce transactions.
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            canceledOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                            interchangeQualification:
                              type: string
                              description: The program assigned by the card network that determines the interchange rate for the transfer.
                              deprecated: true
                              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                            feeProgram:
                              type: string
                              description: The program assigned by the card network that determines the interchange rate for the transfer.
                              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                            authorizationCode:
                              type: string
                              description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                          description: Card-specific details about the transaction.
                        achDetails:
                          type: object
                          required:
                            - status
                            - traceNumber
                          properties:
                            status:
                              type: string
                              enum:
                                - ''
                                - initiated
                                - originated
                                - corrected
                                - returned
                                - completed
                                - canceled
                              description: Status of a transaction within the ACH lifecycle.
                            traceNumber:
                              type: string
                              maxLength: 15
                              example: '124782618117'
                            return:
                              type: object
                              properties:
                                code:
                                  type: string
                                reason:
                                  type: string
                                description:
                                  type: string
                            correction:
                              type: object
                              properties:
                                code:
                                  type: string
                                reason:
                                  type: string
                                description:
                                  type: string
                            companyEntryDescription:
                              type: string
                              minLength: 4
                              maxLength: 10
                              description: An optional override of the default NACHA company entry description for a transfer.
                              example: Gym dues
                            originatingCompanyName:
                              type: string
                              minLength: 4
                              maxLength: 16
                              description: An optional override of the default NACHA company name for a transfer.
                              example: Whole Body Fit
                            secCode:
                              type: string
                              enum:
                                - WEB
                                - PPD
                                - CCD
                                - TEL
                              description: Code used to identify the ACH authorization method.
                            canceledOn:
                              type: string
                              format: date-time
                            initiatedOn:
                              type: string
                              format: date-time
                            originatedOn:
                              type: string
                              format: date-time
                            correctedOn:
                              type: string
                              format: date-time
                            returnedOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                            debitHoldPeriod:
                              type: string
                              enum:
                                - no-hold
                                - 1-day
                                - 2-days
                              description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                              example: 2-days
                          description: ACH specific details about the transaction.
                    destination:
                      type: object
                      required:
                        - paymentMethodID
                        - paymentMethodType
                        - account
                      properties:
                        paymentMethodID:
                          type: string
                        paymentMethodType:
                          type: string
                          enum:
                            - moov-wallet
                            - ach-debit-fund
                            - ach-debit-collect
                            - ach-credit-standard
                            - ach-credit-same-day
                            - rtp-credit
                            - card-payment
                            - push-to-card
                            - pull-from-card
                            - apple-pay
                            - card-present-payment
                          description: The payment method type that represents a payment rail and directionality
                        account:
                          type: object
                          required:
                            - accountID
                            - email
                            - displayName
                          properties:
                            accountID:
                              type: string
                            email:
                              type: string
                            displayName:
                              type: string
                        bankAccount:
                          type: object
                          required:
                            - bankAccountID
                            - fingerprint
                            - status
                            - holderName
                            - holderType
                            - bankName
                            - bankAccountType
                            - routingNumber
                            - lastFourAccountNumber
                            - updatedOn
                          properties:
                            bankAccountID:
                              type: string
                              format: uuid
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Once the bank account is linked, we don't reveal the full bank account number.

                                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                            status:
                              type: string
                              enum:
                                - new
                                - verified
                                - verificationFailed
                                - pending
                                - errored
                            holderName:
                              type: string
                            holderType:
                              type: string
                              enum:
                                - individual
                                - business
                                - guest
                              description: The type of holder on a funding source.
                            bankName:
                              type: string
                            bankAccountType:
                              type: string
                              enum:
                                - checking
                                - savings
                                - general-ledger
                                - loan
                              description: The bank account type.
                            routingNumber:
                              type: string
                            lastFourAccountNumber:
                              type: string
                            updatedOn:
                              type: string
                              format: date-time
                          description: A bank account as contained within a payment method.
                        wallet:
                          type: object
                          required:
                            - walletID
                            - partnerAccountID
                            - walletType
                          properties:
                            walletID:
                              type: string
                              format: uuid
                            partnerAccountID:
                              type: string
                              format: uuid
                            walletType:
                              type: string
                              enum:
                                - default
                                - general
                              description: |-
                                Type of a wallet.
                                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                  - `general`: An additional, user-defined wallet created via API or Dashboard.
                        card:
                          type: object
                          required:
                            - cardID
                            - fingerprint
                            - brand
                            - cardType
                            - lastFourCardNumber
                            - bin
                            - expiration
                            - billingAddress
                            - cardVerification
                          properties:
                            cardID:
                              type: string
                              format: uuid
                              description: ID of the card.
                              example: 01234567-89ab-cdef-0123-456789abcdef
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            lastFourCardNumber:
                              type: string
                              minLength: 4
                              maxLength: 4
                              description: Last four digits of the card number
                            bin:
                              type: string
                              minLength: 6
                              maxLength: 8
                              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            holderName:
                              type: string
                              description: The name of the cardholder as it appears on the card.
                            billingAddress:
                              type: object
                              required:
                                - postalCode
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                city:
                                  type: string
                                  maxLength: 32
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                postalCode:
                                  type: string
                                  maxLength: 10
                                country:
                                  type: string
                                  maxLength: 2
                              example:
                                addressLine1: 123 Main Street
                                addressLine2: Apt 302
                                city: Boulder
                                stateOrProvince: CO
                                postalCode: '80301'
                                country: US
                            cardVerification:
                              type: object
                              required:
                                - cvv
                                - addressLine1
                                - postalCode
                              properties:
                                cvv:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                addressLine1:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                postalCode:
                                  type: string
                                  enum:
                                    - noMatch
                                    - match
                                    - notChecked
                                    - unavailable
                                    - partialMatch
                                  example: match
                                accountName:
                                  type: object
                                  properties:
                                    firstName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    lastName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    middleName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                    fullName:
                                      type: string
                                      enum:
                                        - noMatch
                                        - match
                                        - notChecked
                                        - unavailable
                                        - partialMatch
                                      example: match
                                  description: The results of submitting cardholder name to a card network for verification.
                                  example:
                                    firstName: match
                                    lastName: match
                                    middleName: match
                                    fullName: match
                              description: The results of submitting cardholder data to a card network for verification.
                              example:
                                cvv: match
                                addressLine1: match
                                postalCode: match
                                accountName:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            issuer:
                              type: string
                              description: Financial institution that issued the card.
                            issuerCountry:
                              type: string
                              description: Country where the card was issued.
                            cardOnFile:
                              type: boolean
                              description: Indicates cardholder has authorized card to be stored for future payments.
                            merchantAccountID:
                              type: string
                              format: uuid
                            cardAccountUpdater:
                              type: object
                              properties:
                                updatedOn:
                                  type: string
                                  format: date-time
                                updateType:
                                  type: string
                                  enum:
                                    - unspecified
                                    - account-closed
                                    - contact-cardholder
                                    - expiration-update
                                    - no-change
                                    - no-match
                                    - number-update
                                  description: The results of the card update request.
                                  example: number-update
                              description: The results of the most recent card update request.
                              example:
                                updatedOn: '2024-05-06T12:20:38.184Z'
                                updateType: number-update
                            domesticPushToCard:
                              type: string
                              enum:
                                - not-supported
                                - standard
                                - fast-funds
                                - unknown
                              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                              example: standard
                            domesticPullFromCard:
                              type: string
                              enum:
                                - not-supported
                                - supported
                                - unknown
                              description: Indicates if the card supports domestic pull-from-card transfer.
                              example: supported
                          description: A card as contained within a payment method.
                        achDetails:
                          type: object
                          required:
                            - status
                            - traceNumber
                          properties:
                            status:
                              type: string
                              enum:
                                - ''
                                - initiated
                                - originated
                                - corrected
                                - returned
                                - completed
                                - canceled
                              description: Status of a transaction within the ACH lifecycle.
                            traceNumber:
                              type: string
                              maxLength: 15
                              example: '124782618117'
                            return:
                              type: object
                              properties:
                                code:
                                  type: string
                                reason:
                                  type: string
                                description:
                                  type: string
                            correction:
                              type: object
                              properties:
                                code:
                                  type: string
                                reason:
                                  type: string
                                description:
                                  type: string
                            companyEntryDescription:
                              type: string
                              minLength: 4
                              maxLength: 10
                              description: An optional override of the default NACHA company entry description for a transfer.
                              example: Gym dues
                            originatingCompanyName:
                              type: string
                              minLength: 4
                              maxLength: 16
                              description: An optional override of the default NACHA company name for a transfer.
                              example: Whole Body Fit
                            secCode:
                              type: string
                              enum:
                                - WEB
                                - PPD
                                - CCD
                                - TEL
                              description: Code used to identify the ACH authorization method.
                            canceledOn:
                              type: string
                              format: date-time
                            initiatedOn:
                              type: string
                              format: date-time
                            originatedOn:
                              type: string
                              format: date-time
                            correctedOn:
                              type: string
                              format: date-time
                            returnedOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                            debitHoldPeriod:
                              type: string
                              enum:
                                - no-hold
                                - 1-day
                                - 2-days
                              description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                              example: 2-days
                          description: ACH specific details about the transaction.
                        applePay:
                          type: object
                          required:
                            - brand
                            - cardType
                            - cardDisplayName
                            - fingerprint
                            - expiration
                            - dynamicLastFour
                          properties:
                            brand:
                              type: string
                              enum:
                                - American Express
                                - Discover
                                - Mastercard
                                - Visa
                                - Unknown
                              description: The card brand.
                              example: Visa
                            cardType:
                              type: string
                              enum:
                                - debit
                                - credit
                                - prepaid
                                - unknown
                              description: The type of the card.
                              example: credit
                            cardDisplayName:
                              type: string
                              description: |2-
                                  User-friendly name of the tokenized card returned by Apple.
                                  
                                  It usually contains the brand and the last four digits of the underlying card.
                                  There is no standard format.
                              example: Visa 1256
                            fingerprint:
                              type: string
                              maxLength: 100
                              description: |-
                                Uniquely identifies a linked payment card or token.
                                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                                This field can be used to identify specific payment methods across multiple accounts on your platform.
                              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                            expiration:
                              type: object
                              required:
                                - month
                                - year
                              properties:
                                month:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                                year:
                                  type: string
                                  minLength: 2
                                  maxLength: 2
                              description: The expiration date of the card or token.
                              example:
                                month: '01'
                                year: '21'
                            dynamicLastFour:
                              type: string
                              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                            issuerCountry:
                              type: string
                              description: Country where the underlying card was issued.
                              example: US
                          description: Describes an Apple Pay token on a Moov account.
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - canceled
                                - settled
                                - failed
                                - completed
                              description: Status of a transaction within the card payment lifecycle.
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            dynamicDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                              example: WhlBdy *Yoga 11-12
                            transactionSource:
                              type: string
                              enum:
                                - first-recurring
                                - recurring
                                - unscheduled
                              description: |-
                                Specifies the nature and initiator of a transaction. 

                                Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                                Omit for customer-initiated e-commerce transactions.
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            canceledOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                            interchangeQualification:
                              type: string
                              description: The program assigned by the card network that determines the interchange rate for the transfer.
                              deprecated: true
                              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                            feeProgram:
                              type: string
                              description: The program assigned by the card network that determines the interchange rate for the transfer.
                              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                            authorizationCode:
                              type: string
                              description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                          description: Card-specific details about the transaction.
                        rtpDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - completed
                                - failed
                                - accepted-without-posting
                              description: Status of a transaction within the RTP lifecycle.
                            networkResponseCode:
                              type: string
                              description: Response code returned by network on failure.
                            failureCode:
                              type: string
                              enum:
                                - processing-error
                                - invalid-account
                                - account-closed
                                - account-blocked
                                - invalid-field
                                - transaction-not-supported
                                - limit-exceeded
                                - invalid-amount
                                - customer-deceased
                                - other
                              description: Status codes for RTP failures.
                            initiatedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            acceptedWithoutPostingOn:
                              type: string
                              format: date-time
                          description: RTP specific details about the transaction.
                    completedOn:
                      type: string
                      format: date-time
                    status:
                      type: string
                      enum:
                        - created
                        - pending
                        - completed
                        - failed
                        - reversed
                        - queued
                        - canceled
                      description: Status of a transfer.
                    failureReason:
                      type: string
                      enum:
                        - source-payment-error
                        - destination-payment-error
                        - wallet-insufficient-funds
                        - rejected-high-risk
                        - processing-error
                      description: Reason for a transfer's failure.
                    amount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    description:
                      type: string
                      maxLength: 128
                      description: An optional description of the transfer that is used on receipts and for your own internal use.
                      example: Pay Instructor for May 15 Class
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                    facilitatorFee:
                      type: object
                      properties:
                        total:
                          type: integer
                          format: int64
                          description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                        totalDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                            Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                          example: '12.987654321'
                        markup:
                          type: integer
                          format: int64
                          description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                        markupDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                            Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                          example: '0.987654321'
                      description: Total or markup fee.
                    moovFee:
                      type: integer
                      format: int64
                      description: Fees charged to your platform account for transfers.
                    moovFeeDecimal:
                      type: string
                      description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                    moovFeeDetails:
                      type: object
                      required:
                        - moovProcessing
                      properties:
                        cardScheme:
                          type: string
                          description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                        interchange:
                          type: string
                          description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                        discount:
                          type: string
                          description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                        moovProcessing:
                          type: string
                          description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                      description: Processing and pass-through costs that add up to the moovFee.
                    moovFees:
                      type: array
                      items:
                        type: object
                        required:
                          - accountID
                          - transferParty
                          - totalAmount
                          - feeIDs
                        properties:
                          accountID:
                            type: string
                            description: ID of the account that fees were charged to.
                          transferParty:
                            allOf:
                              - type: string
                                enum:
                                  - source
                                  - destination
                                  - partner
                            description: Indicates whether the account charged was the partner, source, or destination of the transfer.
                          totalAmount:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The total amount of fees charged to the account.
                          feeIDs:
                            type: array
                            items:
                              type: string
                            description: List of fee IDs that sum to the totalAmount.
                        description: Moov fee charged to an account involved in a transfer.
                      description: Fees charged to accounts involved in the transfer.
                    groupID:
                      type: string
                    cancellations:
                      type: array
                      items:
                        type: object
                        required:
                          - cancellationID
                          - status
                          - createdOn
                        properties:
                          cancellationID:
                            type: string
                          status:
                            type: string
                            enum:
                              - pending
                              - completed
                              - failed
                          createdOn:
                            type: string
                            format: date-time
                    refundedAmount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    refunds:
                      type: array
                      items:
                        type: object
                        required:
                          - refundID
                          - createdOn
                          - updatedOn
                          - status
                          - amount
                        properties:
                          refundID:
                            type: string
                            format: uuid
                            description: Identifier for the refund.
                          createdOn:
                            type: string
                            format: date-time
                          updatedOn:
                            type: string
                            format: date-time
                          status:
                            type: string
                            enum:
                              - created
                              - pending
                              - completed
                              - failed
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          cardDetails:
                            type: object
                            required:
                              - status
                            properties:
                              status:
                                type: string
                                enum:
                                  - initiated
                                  - confirmed
                                  - settled
                                  - failed
                                  - completed
                              failureCode:
                                type: string
                                enum:
                                  - call-issuer
                                  - do-not-honor
                                  - processing-error
                                  - invalid-transaction
                                  - invalid-amount
                                  - no-such-issuer
                                  - reenter-transaction
                                  - cvv-mismatch
                                  - lost-or-stolen
                                  - insufficient-funds
                                  - invalid-card-number
                                  - invalid-merchant
                                  - expired-card
                                  - incorrect-pin
                                  - transaction-not-allowed
                                  - suspected-fraud
                                  - amount-limit-exceeded
                                  - velocity-limit-exceeded
                                  - revocation-of-authorization
                                  - card-not-activated
                                  - issuer-not-available
                                  - could-not-route
                                  - cardholder-account-closed
                                  - unknown-issue
                                  - duplicate-transaction
                              initiatedOn:
                                type: string
                                format: date-time
                              confirmedOn:
                                type: string
                                format: date-time
                              settledOn:
                                type: string
                                format: date-time
                              failedOn:
                                type: string
                                format: date-time
                              completedOn:
                                type: string
                                format: date-time
                        description: Details of a card refund.
                        title: Sync
                    disputedAmount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    disputes:
                      type: array
                      items:
                        type: object
                        required:
                          - disputeID
                          - createdOn
                          - amount
                        properties:
                          disputeID:
                            type: string
                            format: uuid
                          createdOn:
                            type: string
                            format: date-time
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                        description: Details of a card dispute.
                    sweepID:
                      type: string
                    scheduleID:
                      type: string
                    occurrenceID:
                      type: string
                    paymentLinkCode:
                      type: string
                    salesTaxAmount:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                    foreignID:
                      type: string
                      description: Optional alias from a foreign/external system which can be used to reference this resource.
                  description: Details of a Transfer.
                  title: Sync
                  example:
                    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'
                    moovFees:
                      - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
                        transferParty: source
                        totalAmount:
                          currency: USD
                          valueDecimal: '0.1'
                        feeIDs:
                          - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  accountIDs:
                    type: string
                  status:
                    type: string
                  startDateTime:
                    type: string
                  endDateTime:
                    type: string
                  skip:
                    type: string
                  count:
                    type: string
                  groupID:
                    type: string
                  foreignID:
                    type: string
                  scheduleID:
                    type: string
                  paymentLinkCode:
                    type: string
                  refunded:
                    type: string
                  disputed:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listTransfers
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.list({
                skip: 60,
                count: 20,
                accountID: "0579c895-4d2b-4024-8092-f71b80ab5d00",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listTransfers
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListTransfersRequest(
                skip: 60,
                count: 20,
                accountID: '0579c895-4d2b-4024-8092-f71b80ab5d00',
            );

            $response = $sdk->transfers->list(
                request: $request
            );

            if ($response->transfers !== null) {
                // handle response
            }
        - lang: python
          label: listTransfers
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.list(account_id="0579c895-4d2b-4024-8092-f71b80ab5d00", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listTransfers
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.ListTransfersValidationError;
            import org.openapis.openapi.models.operations.ListTransfersRequest;
            import org.openapis.openapi.models.operations.ListTransfersResponse;

            public class Application {

                public static void main(String[] args) throws ListTransfersValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListTransfersRequest req = ListTransfersRequest.builder()
                            .accountID("0579c895-4d2b-4024-8092-f71b80ab5d00")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListTransfersResponse res = sdk.transfers().list()
                            .request(req)
                            .call();

                    if (res.transfers().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listTransfers
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListTransfersRequest.new(
              skip: 60,
              count: 20,
              account_id: '0579c895-4d2b-4024-8092-f71b80ab5d00',
            )

            res = s.transfers.list(request: req)

            unless res.transfers.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}:
    get:
      operationId: getTransfer
      description: |-
        Retrieve full transfer details for an individual transfer of a particular Moov account. 

        Payment rail-specific details are included in the source and destination. Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) 
        to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                  - source
                  - destination
                  - status
                  - amount
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                  source:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: UUID present only if the transfer is part of a transfer group.
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      rtpDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - completed
                              - failed
                              - accepted-without-posting
                            description: Status of a transaction within the RTP lifecycle.
                          networkResponseCode:
                            type: string
                            description: Response code returned by network on failure.
                          failureCode:
                            type: string
                            enum:
                              - processing-error
                              - invalid-account
                              - account-closed
                              - account-blocked
                              - invalid-field
                              - transaction-not-supported
                              - limit-exceeded
                              - invalid-amount
                              - customer-deceased
                              - other
                            description: Status codes for RTP failures.
                          initiatedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          acceptedWithoutPostingOn:
                            type: string
                            format: date-time
                        description: RTP specific details about the transaction.
                  completedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                      - reversed
                      - queued
                      - canceled
                    description: Status of a transfer.
                  failureReason:
                    type: string
                    enum:
                      - source-payment-error
                      - destination-payment-error
                      - wallet-insufficient-funds
                      - rejected-high-risk
                      - processing-error
                    description: Reason for a transfer's failure.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  description:
                    type: string
                    maxLength: 128
                    description: An optional description of the transfer that is used on receipts and for your own internal use.
                    example: Pay Instructor for May 15 Class
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  facilitatorFee:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                        description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                      totalDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                          Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '12.987654321'
                      markup:
                        type: integer
                        format: int64
                        description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                      markupDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                          Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '0.987654321'
                    description: Total or markup fee.
                  moovFee:
                    type: integer
                    format: int64
                    description: Fees charged to your platform account for transfers.
                  moovFeeDecimal:
                    type: string
                    description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                  moovFeeDetails:
                    type: object
                    required:
                      - moovProcessing
                    properties:
                      cardScheme:
                        type: string
                        description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                      interchange:
                        type: string
                        description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                      discount:
                        type: string
                        description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                      moovProcessing:
                        type: string
                        description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                    description: Processing and pass-through costs that add up to the moovFee.
                  moovFees:
                    type: array
                    items:
                      type: object
                      required:
                        - accountID
                        - transferParty
                        - totalAmount
                        - feeIDs
                      properties:
                        accountID:
                          type: string
                          description: ID of the account that fees were charged to.
                        transferParty:
                          allOf:
                            - type: string
                              enum:
                                - source
                                - destination
                                - partner
                          description: Indicates whether the account charged was the partner, source, or destination of the transfer.
                        totalAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount of fees charged to the account.
                        feeIDs:
                          type: array
                          items:
                            type: string
                          description: List of fee IDs that sum to the totalAmount.
                      description: Moov fee charged to an account involved in a transfer.
                    description: Fees charged to accounts involved in the transfer.
                  groupID:
                    type: string
                  cancellations:
                    type: array
                    items:
                      type: object
                      required:
                        - cancellationID
                        - status
                        - createdOn
                      properties:
                        cancellationID:
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - completed
                            - failed
                        createdOn:
                          type: string
                          format: date-time
                  refundedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  refunds:
                    type: array
                    items:
                      type: object
                      required:
                        - refundID
                        - createdOn
                        - updatedOn
                        - status
                        - amount
                      properties:
                        refundID:
                          type: string
                          format: uuid
                          description: Identifier for the refund.
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - created
                            - pending
                            - completed
                            - failed
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - settled
                                - failed
                                - completed
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                      description: Details of a card refund.
                      title: Sync
                  disputedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  disputes:
                    type: array
                    items:
                      type: object
                      required:
                        - disputeID
                        - createdOn
                        - amount
                      properties:
                        disputeID:
                          type: string
                          format: uuid
                        createdOn:
                          type: string
                          format: date-time
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Details of a card dispute.
                  sweepID:
                    type: string
                  scheduleID:
                    type: string
                  occurrenceID:
                    type: string
                  paymentLinkCode:
                    type: string
                  salesTaxAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                  foreignID:
                    type: string
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                description: Details of a Transfer.
                title: Sync
                example:
                  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'
                  moovFees:
                    - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
                      transferParty: source
                      totalAmount:
                        currency: USD
                        valueDecimal: '0.1'
                      feeIDs:
                        - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getTransfer
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.get({
                transferID: "960cf5a2-50a3-4914-ad86-d54c022bf5df",
                accountID: "31113f7b-9f68-44e9-9338-6d8e655c7c96",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getTransfer
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->transfers->get(
                transferID: '960cf5a2-50a3-4914-ad86-d54c022bf5df',
                accountID: '31113f7b-9f68-44e9-9338-6d8e655c7c96'

            );

            if ($response->transfer !== null) {
                // handle response
            }
        - lang: python
          label: getTransfer
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.get(transfer_id="960cf5a2-50a3-4914-ad86-d54c022bf5df", account_id="31113f7b-9f68-44e9-9338-6d8e655c7c96")

                # Handle response
                print(res)
        - lang: java
          label: getTransfer
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetTransferResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetTransferResponse res = sdk.transfers().get()
                            .transferID("960cf5a2-50a3-4914-ad86-d54c022bf5df")
                            .accountID("31113f7b-9f68-44e9-9338-6d8e655c7c96")
                            .call();

                    if (res.transfer().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getTransfer
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.get(transfer_id: '960cf5a2-50a3-4914-ad86-d54c022bf5df', account_id: '31113f7b-9f68-44e9-9338-6d8e655c7c96')

            unless res.transfer.nil?
              # handle response
            end
    patch:
      operationId: updateTransfer
      description: |-
        Update the metadata contained on a transfer. 

        Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - transferID
                  - createdOn
                  - source
                  - destination
                  - status
                  - amount
                properties:
                  transferID:
                    type: string
                    format: uuid
                  createdOn:
                    type: string
                    format: date-time
                  source:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      transferID:
                        type: string
                        format: uuid
                        description: UUID present only if the transfer is part of a transfer group.
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      terminalCard:
                        type: object
                        properties:
                          entryMode:
                            type: string
                            enum:
                              - contactless
                            description: How the card information was entered into the point of sale terminal.
                            example: contactless
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          applicationID:
                            type: string
                            description: Identifier for the point of sale terminal application.
                          applicationName:
                            type: string
                            description: Name label for the point of sale terminal application.
                        description: Describes payment card details captured with tap or in-person payment.
                        example:
                          entryMode: contactless
                          brand: Visa
                          bin: '123456'
                          cardType: credit
                          expiration:
                            month: '01'
                            year: '21'
                          fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          holderName: Jules Jackson
                          issuer: GRINGOTTS BANK
                          issuerCountry: US
                          lastFourCardNumber: '1234'
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                      - paymentMethodType
                      - account
                    properties:
                      paymentMethodID:
                        type: string
                      paymentMethodType:
                        type: string
                        enum:
                          - moov-wallet
                          - ach-debit-fund
                          - ach-debit-collect
                          - ach-credit-standard
                          - ach-credit-same-day
                          - rtp-credit
                          - card-payment
                          - push-to-card
                          - pull-from-card
                          - apple-pay
                          - card-present-payment
                        description: The payment method type that represents a payment rail and directionality
                      account:
                        type: object
                        required:
                          - accountID
                          - email
                          - displayName
                        properties:
                          accountID:
                            type: string
                          email:
                            type: string
                          displayName:
                            type: string
                      bankAccount:
                        type: object
                        required:
                          - bankAccountID
                          - fingerprint
                          - status
                          - holderName
                          - holderType
                          - bankName
                          - bankAccountType
                          - routingNumber
                          - lastFourAccountNumber
                          - updatedOn
                        properties:
                          bankAccountID:
                            type: string
                            format: uuid
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Once the bank account is linked, we don't reveal the full bank account number.

                              The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                          status:
                            type: string
                            enum:
                              - new
                              - verified
                              - verificationFailed
                              - pending
                              - errored
                          holderName:
                            type: string
                          holderType:
                            type: string
                            enum:
                              - individual
                              - business
                              - guest
                            description: The type of holder on a funding source.
                          bankName:
                            type: string
                          bankAccountType:
                            type: string
                            enum:
                              - checking
                              - savings
                              - general-ledger
                              - loan
                            description: The bank account type.
                          routingNumber:
                            type: string
                          lastFourAccountNumber:
                            type: string
                          updatedOn:
                            type: string
                            format: date-time
                        description: A bank account as contained within a payment method.
                      wallet:
                        type: object
                        required:
                          - walletID
                          - partnerAccountID
                          - walletType
                        properties:
                          walletID:
                            type: string
                            format: uuid
                          partnerAccountID:
                            type: string
                            format: uuid
                          walletType:
                            type: string
                            enum:
                              - default
                              - general
                            description: |-
                              Type of a wallet.
                                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                                - `general`: An additional, user-defined wallet created via API or Dashboard.
                      card:
                        type: object
                        required:
                          - cardID
                          - fingerprint
                          - brand
                          - cardType
                          - lastFourCardNumber
                          - bin
                          - expiration
                          - billingAddress
                          - cardVerification
                        properties:
                          cardID:
                            type: string
                            format: uuid
                            description: ID of the card.
                            example: 01234567-89ab-cdef-0123-456789abcdef
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          lastFourCardNumber:
                            type: string
                            minLength: 4
                            maxLength: 4
                            description: Last four digits of the card number
                          bin:
                            type: string
                            minLength: 6
                            maxLength: 8
                            description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          holderName:
                            type: string
                            description: The name of the cardholder as it appears on the card.
                          billingAddress:
                            type: object
                            required:
                              - postalCode
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                              addressLine2:
                                type: string
                                maxLength: 32
                              city:
                                type: string
                                maxLength: 32
                              stateOrProvince:
                                type: string
                                maxLength: 2
                              postalCode:
                                type: string
                                maxLength: 10
                              country:
                                type: string
                                maxLength: 2
                            example:
                              addressLine1: 123 Main Street
                              addressLine2: Apt 302
                              city: Boulder
                              stateOrProvince: CO
                              postalCode: '80301'
                              country: US
                          cardVerification:
                            type: object
                            required:
                              - cvv
                              - addressLine1
                              - postalCode
                            properties:
                              cvv:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              addressLine1:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              postalCode:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              accountName:
                                type: object
                                properties:
                                  firstName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  lastName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  middleName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                  fullName:
                                    type: string
                                    enum:
                                      - noMatch
                                      - match
                                      - notChecked
                                      - unavailable
                                      - partialMatch
                                    example: match
                                description: The results of submitting cardholder name to a card network for verification.
                                example:
                                  firstName: match
                                  lastName: match
                                  middleName: match
                                  fullName: match
                            description: The results of submitting cardholder data to a card network for verification.
                            example:
                              cvv: match
                              addressLine1: match
                              postalCode: match
                              accountName:
                                firstName: match
                                lastName: match
                                middleName: match
                                fullName: match
                          issuer:
                            type: string
                            description: Financial institution that issued the card.
                          issuerCountry:
                            type: string
                            description: Country where the card was issued.
                          cardOnFile:
                            type: boolean
                            description: Indicates cardholder has authorized card to be stored for future payments.
                          merchantAccountID:
                            type: string
                            format: uuid
                          cardAccountUpdater:
                            type: object
                            properties:
                              updatedOn:
                                type: string
                                format: date-time
                              updateType:
                                type: string
                                enum:
                                  - unspecified
                                  - account-closed
                                  - contact-cardholder
                                  - expiration-update
                                  - no-change
                                  - no-match
                                  - number-update
                                description: The results of the card update request.
                                example: number-update
                            description: The results of the most recent card update request.
                            example:
                              updatedOn: '2024-05-06T12:20:38.184Z'
                              updateType: number-update
                          domesticPushToCard:
                            type: string
                            enum:
                              - not-supported
                              - standard
                              - fast-funds
                              - unknown
                            description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                            example: standard
                          domesticPullFromCard:
                            type: string
                            enum:
                              - not-supported
                              - supported
                              - unknown
                            description: Indicates if the card supports domestic pull-from-card transfer.
                            example: supported
                        description: A card as contained within a payment method.
                      achDetails:
                        type: object
                        required:
                          - status
                          - traceNumber
                        properties:
                          status:
                            type: string
                            enum:
                              - ''
                              - initiated
                              - originated
                              - corrected
                              - returned
                              - completed
                              - canceled
                            description: Status of a transaction within the ACH lifecycle.
                          traceNumber:
                            type: string
                            maxLength: 15
                            example: '124782618117'
                          return:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          correction:
                            type: object
                            properties:
                              code:
                                type: string
                              reason:
                                type: string
                              description:
                                type: string
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                          secCode:
                            type: string
                            enum:
                              - WEB
                              - PPD
                              - CCD
                              - TEL
                            description: Code used to identify the ACH authorization method.
                          canceledOn:
                            type: string
                            format: date-time
                          initiatedOn:
                            type: string
                            format: date-time
                          originatedOn:
                            type: string
                            format: date-time
                          correctedOn:
                            type: string
                            format: date-time
                          returnedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          debitHoldPeriod:
                            type: string
                            enum:
                              - no-hold
                              - 1-day
                              - 2-days
                            description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                            example: 2-days
                        description: ACH specific details about the transaction.
                      applePay:
                        type: object
                        required:
                          - brand
                          - cardType
                          - cardDisplayName
                          - fingerprint
                          - expiration
                          - dynamicLastFour
                        properties:
                          brand:
                            type: string
                            enum:
                              - American Express
                              - Discover
                              - Mastercard
                              - Visa
                              - Unknown
                            description: The card brand.
                            example: Visa
                          cardType:
                            type: string
                            enum:
                              - debit
                              - credit
                              - prepaid
                              - unknown
                            description: The type of the card.
                            example: credit
                          cardDisplayName:
                            type: string
                            description: |2-
                                User-friendly name of the tokenized card returned by Apple.
                                
                                It usually contains the brand and the last four digits of the underlying card.
                                There is no standard format.
                            example: Visa 1256
                          fingerprint:
                            type: string
                            maxLength: 100
                            description: |-
                              Uniquely identifies a linked payment card or token.
                              For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                              This field can be used to identify specific payment methods across multiple accounts on your platform.
                            example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                          expiration:
                            type: object
                            required:
                              - month
                              - year
                            properties:
                              month:
                                type: string
                                minLength: 2
                                maxLength: 2
                              year:
                                type: string
                                minLength: 2
                                maxLength: 2
                            description: The expiration date of the card or token.
                            example:
                              month: '01'
                              year: '21'
                          dynamicLastFour:
                            type: string
                            description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                          issuerCountry:
                            type: string
                            description: Country where the underlying card was issued.
                            example: US
                        description: Describes an Apple Pay token on a Moov account.
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - canceled
                              - settled
                              - failed
                              - completed
                            description: Status of a transaction within the card payment lifecycle.
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                          transactionSource:
                            type: string
                            enum:
                              - first-recurring
                              - recurring
                              - unscheduled
                            description: |-
                              Specifies the nature and initiator of a transaction. 

                              Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                              Omit for customer-initiated e-commerce transactions.
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          canceledOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          interchangeQualification:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            deprecated: true
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          feeProgram:
                            type: string
                            description: The program assigned by the card network that determines the interchange rate for the transfer.
                            example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                          authorizationCode:
                            type: string
                            description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
                        description: Card-specific details about the transaction.
                      rtpDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - completed
                              - failed
                              - accepted-without-posting
                            description: Status of a transaction within the RTP lifecycle.
                          networkResponseCode:
                            type: string
                            description: Response code returned by network on failure.
                          failureCode:
                            type: string
                            enum:
                              - processing-error
                              - invalid-account
                              - account-closed
                              - account-blocked
                              - invalid-field
                              - transaction-not-supported
                              - limit-exceeded
                              - invalid-amount
                              - customer-deceased
                              - other
                            description: Status codes for RTP failures.
                          initiatedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          acceptedWithoutPostingOn:
                            type: string
                            format: date-time
                        description: RTP specific details about the transaction.
                  completedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                      - reversed
                      - queued
                      - canceled
                    description: Status of a transfer.
                  failureReason:
                    type: string
                    enum:
                      - source-payment-error
                      - destination-payment-error
                      - wallet-insufficient-funds
                      - rejected-high-risk
                      - processing-error
                    description: Reason for a transfer's failure.
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  description:
                    type: string
                    maxLength: 128
                    description: An optional description of the transfer that is used on receipts and for your own internal use.
                    example: Pay Instructor for May 15 Class
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  facilitatorFee:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                        description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
                      totalDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                          Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '12.987654321'
                      markup:
                        type: integer
                        format: int64
                        description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
                      markupDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                          Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
                        example: '0.987654321'
                    description: Total or markup fee.
                  moovFee:
                    type: integer
                    format: int64
                    description: Fees charged to your platform account for transfers.
                  moovFeeDecimal:
                    type: string
                    description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                  moovFeeDetails:
                    type: object
                    required:
                      - moovProcessing
                    properties:
                      cardScheme:
                        type: string
                        description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
                      interchange:
                        type: string
                        description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
                      discount:
                        type: string
                        description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
                      moovProcessing:
                        type: string
                        description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
                    description: Processing and pass-through costs that add up to the moovFee.
                  moovFees:
                    type: array
                    items:
                      type: object
                      required:
                        - accountID
                        - transferParty
                        - totalAmount
                        - feeIDs
                      properties:
                        accountID:
                          type: string
                          description: ID of the account that fees were charged to.
                        transferParty:
                          allOf:
                            - type: string
                              enum:
                                - source
                                - destination
                                - partner
                          description: Indicates whether the account charged was the partner, source, or destination of the transfer.
                        totalAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount of fees charged to the account.
                        feeIDs:
                          type: array
                          items:
                            type: string
                          description: List of fee IDs that sum to the totalAmount.
                      description: Moov fee charged to an account involved in a transfer.
                    description: Fees charged to accounts involved in the transfer.
                  groupID:
                    type: string
                  cancellations:
                    type: array
                    items:
                      type: object
                      required:
                        - cancellationID
                        - status
                        - createdOn
                      properties:
                        cancellationID:
                          type: string
                        status:
                          type: string
                          enum:
                            - pending
                            - completed
                            - failed
                        createdOn:
                          type: string
                          format: date-time
                  refundedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  refunds:
                    type: array
                    items:
                      type: object
                      required:
                        - refundID
                        - createdOn
                        - updatedOn
                        - status
                        - amount
                      properties:
                        refundID:
                          type: string
                          format: uuid
                          description: Identifier for the refund.
                        createdOn:
                          type: string
                          format: date-time
                        updatedOn:
                          type: string
                          format: date-time
                        status:
                          type: string
                          enum:
                            - created
                            - pending
                            - completed
                            - failed
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                        cardDetails:
                          type: object
                          required:
                            - status
                          properties:
                            status:
                              type: string
                              enum:
                                - initiated
                                - confirmed
                                - settled
                                - failed
                                - completed
                            failureCode:
                              type: string
                              enum:
                                - call-issuer
                                - do-not-honor
                                - processing-error
                                - invalid-transaction
                                - invalid-amount
                                - no-such-issuer
                                - reenter-transaction
                                - cvv-mismatch
                                - lost-or-stolen
                                - insufficient-funds
                                - invalid-card-number
                                - invalid-merchant
                                - expired-card
                                - incorrect-pin
                                - transaction-not-allowed
                                - suspected-fraud
                                - amount-limit-exceeded
                                - velocity-limit-exceeded
                                - revocation-of-authorization
                                - card-not-activated
                                - issuer-not-available
                                - could-not-route
                                - cardholder-account-closed
                                - unknown-issue
                                - duplicate-transaction
                            initiatedOn:
                              type: string
                              format: date-time
                            confirmedOn:
                              type: string
                              format: date-time
                            settledOn:
                              type: string
                              format: date-time
                            failedOn:
                              type: string
                              format: date-time
                            completedOn:
                              type: string
                              format: date-time
                      description: Details of a card refund.
                      title: Sync
                  disputedAmount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  disputes:
                    type: array
                    items:
                      type: object
                      required:
                        - disputeID
                        - createdOn
                        - amount
                      properties:
                        disputeID:
                          type: string
                          format: uuid
                        createdOn:
                          type: string
                          format: date-time
                        amount:
                          type: object
                          required:
                            - currency
                            - value
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            value:
                              type: integer
                              format: int64
                              description: |-
                                Quantity in the smallest unit of the specified currency. 

                                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                              example: 1204
                      description: Details of a card dispute.
                  sweepID:
                    type: string
                  scheduleID:
                    type: string
                  occurrenceID:
                    type: string
                  paymentLinkCode:
                    type: string
                  salesTaxAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
                  foreignID:
                    type: string
                    description: Optional alias from a foreign/external system which can be used to reference this resource.
                description: Details of a Transfer.
                title: Sync
                example:
                  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'
                  moovFees:
                    - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
                      transferParty: source
                      totalAmount:
                        currency: USD
                        valueDecimal: '0.1'
                      feeIDs:
                        - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: string
                  foreignID:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                metadata:
                  type: object
                  allOf:
                    - type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                  nullable: true
                foreignID:
                  type: string
                  description: Optional alias from a foreign/external system which can be used to reference this resource.
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateTransfer
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.update({
                transferID: "de30c075-4245-4d62-bfb3-f76d4d7d3b9c",
                accountID: "18a7907d-2f89-493a-b15a-3aad91c24496",
                patchTransfer: {
                  metadata: {
                    "optional": "metadata",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateTransfer
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $patchTransfer = new Components\PatchTransfer(
                metadata: [
                    'optional' => 'metadata',
                ],
            );

            $response = $sdk->transfers->update(
                transferID: 'de30c075-4245-4d62-bfb3-f76d4d7d3b9c',
                accountID: '18a7907d-2f89-493a-b15a-3aad91c24496',
                patchTransfer: $patchTransfer

            );

            if ($response->transfer !== null) {
                // handle response
            }
        - lang: python
          label: updateTransfer
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.update(transfer_id="de30c075-4245-4d62-bfb3-f76d4d7d3b9c", account_id="18a7907d-2f89-493a-b15a-3aad91c24496", metadata={
                    "optional": "metadata",
                })

                # Handle response
                print(res)
        - lang: java
          label: updateTransfer
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.Map;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.PatchTransfer;
            import org.openapis.openapi.models.errors.PatchTransferValidationError;
            import org.openapis.openapi.models.operations.UpdateTransferResponse;

            public class Application {

                public static void main(String[] args) throws PatchTransferValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateTransferResponse res = sdk.transfers().update()
                            .transferID("de30c075-4245-4d62-bfb3-f76d4d7d3b9c")
                            .accountID("18a7907d-2f89-493a-b15a-3aad91c24496")
                            .patchTransfer(PatchTransfer.builder()
                                .metadata(Map.ofEntries(
                                    Map.entry("optional", "metadata")))
                                .build())
                            .call();

                    if (res.transfer().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateTransfer
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.update(transfer_id: 'de30c075-4245-4d62-bfb3-f76d4d7d3b9c', account_id: '18a7907d-2f89-493a-b15a-3aad91c24496', patch_transfer: Models::Components::PatchTransfer.new(
              metadata: {
                "optional": 'metadata',
              },
            ))

            unless res.transfer.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}/cancellations:
    post:
      operationId: createCancellation
      description: |2-
          Initiate a cancellation for a card, ACH, or queued transfer.
          
          To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
          to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The partner's Moov account ID.
          schema:
            type: string
            format: uuid
        - name: transferID
          in: path
          required: true
          description: The transfer ID to cancel.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cancellationID
                  - status
                  - createdOn
                properties:
                  cancellationID:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - completed
                      - failed
                  createdOn:
                    type: string
                    format: date-time
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cancellationID
                  - status
                  - createdOn
                properties:
                  cancellationID:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - completed
                      - failed
                  createdOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-codeSamples:
        - lang: typescript
          label: createCancellation
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.createCancellation({
                accountID: "10ae862c-6658-4f87-967d-46e995737204",
                transferID: "36c80a6c-ceb2-4e5d-a437-8a39afdfdc58",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createCancellation
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->transfers->createCancellation(
                accountID: '10ae862c-6658-4f87-967d-46e995737204',
                transferID: '36c80a6c-ceb2-4e5d-a437-8a39afdfdc58'

            );

            if ($response->cancellation !== null) {
                // handle response
            }
        - lang: python
          label: createCancellation
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.create_cancellation(account_id="10ae862c-6658-4f87-967d-46e995737204", transfer_id="36c80a6c-ceb2-4e5d-a437-8a39afdfdc58")

                # Handle response
                print(res)
        - lang: java
          label: createCancellation
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateCancellationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateCancellationResponse res = sdk.transfers().createCancellation()
                            .accountID("10ae862c-6658-4f87-967d-46e995737204")
                            .transferID("36c80a6c-ceb2-4e5d-a437-8a39afdfdc58")
                            .call();

                    if (res.cancellation().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createCancellation
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.create_cancellation(account_id: '10ae862c-6658-4f87-967d-46e995737204', transfer_id: '36c80a6c-ceb2-4e5d-a437-8a39afdfdc58')

            unless res.cancellation.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}/cancellations/{cancellationID}:
    get:
      operationId: getCancellation
      description: |2-
          Get details of a cancellation for a transfer.
          
          To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
          to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: Moov account ID of the partner or transfer's source or destination.
          schema:
            type: string
            format: uuid
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
        - name: cancellationID
          in: path
          required: true
          description: Identifier for the cancellation.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cancellationID
                  - status
                  - createdOn
                properties:
                  cancellationID:
                    type: string
                  status:
                    type: string
                    enum:
                      - pending
                      - completed
                      - failed
                  createdOn:
                    type: string
                    format: date-time
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-codeSamples:
        - lang: typescript
          label: getCancellation
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.getCancellation({
                accountID: "55cb62c2-22e4-4a36-bd53-3b9adc77ee81",
                transferID: "bc13b680-bac3-432e-bf44-e9aa6426cbb2",
                cancellationID: "770cb4b5-d5b0-4e8b-995b-86b790296ba5",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getCancellation
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->transfers->getCancellation(
                accountID: '55cb62c2-22e4-4a36-bd53-3b9adc77ee81',
                transferID: 'bc13b680-bac3-432e-bf44-e9aa6426cbb2',
                cancellationID: '770cb4b5-d5b0-4e8b-995b-86b790296ba5'

            );

            if ($response->cancellation !== null) {
                // handle response
            }
        - lang: python
          label: getCancellation
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.get_cancellation(account_id="55cb62c2-22e4-4a36-bd53-3b9adc77ee81", transfer_id="bc13b680-bac3-432e-bf44-e9aa6426cbb2", cancellation_id="770cb4b5-d5b0-4e8b-995b-86b790296ba5")

                # Handle response
                print(res)
        - lang: java
          label: getCancellation
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetCancellationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetCancellationResponse res = sdk.transfers().getCancellation()
                            .accountID("55cb62c2-22e4-4a36-bd53-3b9adc77ee81")
                            .transferID("bc13b680-bac3-432e-bf44-e9aa6426cbb2")
                            .cancellationID("770cb4b5-d5b0-4e8b-995b-86b790296ba5")
                            .call();

                    if (res.cancellation().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getCancellation
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.get_cancellation(account_id: '55cb62c2-22e4-4a36-bd53-3b9adc77ee81', transfer_id: 'bc13b680-bac3-432e-bf44-e9aa6426cbb2', cancellation_id: '770cb4b5-d5b0-4e8b-995b-86b790296ba5')

            unless res.cancellation.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}/refunds:
    post:
      operationId: initiateRefund
      description: |-
        Initiate a refund for a card transfer.

        **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.**    
        See the [reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) guide for more information. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: x-idempotency-key
          in: header
          required: true
          description: Prevents duplicate refunds from being created.
          schema:
            type: string
            format: uuid
        - 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 
            asynchronous response indicating the transfer was created (this is the default response if the header is omitted). A timeout will occur after 15 seconds.
          schema:
            type: string
            enum:
              - rail-response
        - name: accountID
          in: path
          required: true
          description: The merchant's Moov account ID.
          schema:
            type: string
            format: uuid
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - refundID
                      - createdOn
                      - updatedOn
                      - status
                      - amount
                    properties:
                      refundID:
                        type: string
                        format: uuid
                        description: Identifier for the refund.
                      createdOn:
                        type: string
                        format: date-time
                      updatedOn:
                        type: string
                        format: date-time
                      status:
                        type: string
                        enum:
                          - created
                          - pending
                          - completed
                          - failed
                      amount:
                        type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                      cardDetails:
                        type: object
                        required:
                          - status
                        properties:
                          status:
                            type: string
                            enum:
                              - initiated
                              - confirmed
                              - settled
                              - failed
                              - completed
                          failureCode:
                            type: string
                            enum:
                              - call-issuer
                              - do-not-honor
                              - processing-error
                              - invalid-transaction
                              - invalid-amount
                              - no-such-issuer
                              - reenter-transaction
                              - cvv-mismatch
                              - lost-or-stolen
                              - insufficient-funds
                              - invalid-card-number
                              - invalid-merchant
                              - expired-card
                              - incorrect-pin
                              - transaction-not-allowed
                              - suspected-fraud
                              - amount-limit-exceeded
                              - velocity-limit-exceeded
                              - revocation-of-authorization
                              - card-not-activated
                              - issuer-not-available
                              - could-not-route
                              - cardholder-account-closed
                              - unknown-issue
                              - duplicate-transaction
                          initiatedOn:
                            type: string
                            format: date-time
                          confirmedOn:
                            type: string
                            format: date-time
                          settledOn:
                            type: string
                            format: date-time
                          failedOn:
                            type: string
                            format: date-time
                          completedOn:
                            type: string
                            format: date-time
                    description: Details of a card refund.
                    title: Sync
                  - type: object
                    required:
                      - refundID
                      - createdOn
                      - amount
                    properties:
                      refundID:
                        type: string
                        format: uuid
                      createdOn:
                        type: string
                        format: date-time
                      amount:
                        type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                    description: Asynchronous refund response
                    title: Async
              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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - refundID
                  - createdOn
                  - updatedOn
                  - status
                  - amount
                properties:
                  refundID:
                    type: string
                    format: uuid
                    description: Identifier for the refund.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  cardDetails:
                    type: object
                    required:
                      - status
                    properties:
                      status:
                        type: string
                        enum:
                          - initiated
                          - confirmed
                          - settled
                          - failed
                          - completed
                      failureCode:
                        type: string
                        enum:
                          - call-issuer
                          - do-not-honor
                          - processing-error
                          - invalid-transaction
                          - invalid-amount
                          - no-such-issuer
                          - reenter-transaction
                          - cvv-mismatch
                          - lost-or-stolen
                          - insufficient-funds
                          - invalid-card-number
                          - invalid-merchant
                          - expired-card
                          - incorrect-pin
                          - transaction-not-allowed
                          - suspected-fraud
                          - amount-limit-exceeded
                          - velocity-limit-exceeded
                          - revocation-of-authorization
                          - card-not-activated
                          - issuer-not-available
                          - could-not-route
                          - cardholder-account-closed
                          - unknown-issue
                          - duplicate-transaction
                      initiatedOn:
                        type: string
                        format: date-time
                      confirmedOn:
                        type: string
                        format: date-time
                      settledOn:
                        type: string
                        format: date-time
                      failedOn:
                        type: string
                        format: date-time
                      completedOn:
                        type: string
                        format: date-time
                description: Details of a card refund.
                title: Sync
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - refundID
                  - createdOn
                  - updatedOn
                  - status
                  - amount
                properties:
                  refundID:
                    type: string
                    format: uuid
                    description: Identifier for the refund.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  cardDetails:
                    type: object
                    required:
                      - status
                    properties:
                      status:
                        type: string
                        enum:
                          - initiated
                          - confirmed
                          - settled
                          - failed
                          - completed
                      failureCode:
                        type: string
                        enum:
                          - call-issuer
                          - do-not-honor
                          - processing-error
                          - invalid-transaction
                          - invalid-amount
                          - no-such-issuer
                          - reenter-transaction
                          - cvv-mismatch
                          - lost-or-stolen
                          - insufficient-funds
                          - invalid-card-number
                          - invalid-merchant
                          - expired-card
                          - incorrect-pin
                          - transaction-not-allowed
                          - suspected-fraud
                          - amount-limit-exceeded
                          - velocity-limit-exceeded
                          - revocation-of-authorization
                          - card-not-activated
                          - issuer-not-available
                          - could-not-route
                          - cardholder-account-closed
                          - unknown-issue
                          - duplicate-transaction
                      initiatedOn:
                        type: string
                        format: date-time
                      confirmedOn:
                        type: string
                        format: date-time
                      settledOn:
                        type: string
                        format: date-time
                      failedOn:
                        type: string
                        format: date-time
                      completedOn:
                        type: string
                        format: date-time
                description: Details of a card refund.
                title: Sync
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amount:
                    type: string
                  error:
                    type: string
                    description: Used for generic errors when invalid request data isn't attributed to a single request field.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  format: int64
                  description: Amount to refund in cents. If null, the original transfer's full amount will be refunded.
                  example: 1000
              description: |-
                Specifies a partial amount to refund. 

                This request body is optional, an empty body will issue a refund for the full amount of the original transfer.
      x-codeSamples:
        - lang: typescript
          label: initiateRefund
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.initiateRefund({
                xIdempotencyKey: "8d9af6b8-67e1-4efa-8188-68039f34097d",
                accountID: "cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2",
                transferID: "04022119-95be-4ef4-9dd4-b3782f6aa7b9",
                createRefund: {
                  amount: 1000,
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: initiateRefund
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\InitiateRefundRequest(
                xIdempotencyKey: '8d9af6b8-67e1-4efa-8188-68039f34097d',
                accountID: 'cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2',
                transferID: '04022119-95be-4ef4-9dd4-b3782f6aa7b9',
                createRefund: new Components\CreateRefund(
                    amount: 1000,
                ),
            );

            $response = $sdk->transfers->initiateRefund(
                request: $request
            );

            if ($response->createRefundResponse !== null) {
                // handle response
            }
        - lang: python
          label: initiateRefund
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.initiate_refund(x_idempotency_key="8d9af6b8-67e1-4efa-8188-68039f34097d", account_id="cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2", transfer_id="04022119-95be-4ef4-9dd4-b3782f6aa7b9", amount=1000)

                # Handle response
                print(res)
        - lang: java
          label: initiateRefund
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateRefund;
            import org.openapis.openapi.models.errors.*;
            import org.openapis.openapi.models.operations.InitiateRefundRequest;
            import org.openapis.openapi.models.operations.InitiateRefundResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CardAcquiringRefundException, RefundValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    InitiateRefundRequest req = InitiateRefundRequest.builder()
                            .xIdempotencyKey("8d9af6b8-67e1-4efa-8188-68039f34097d")
                            .accountID("cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2")
                            .transferID("04022119-95be-4ef4-9dd4-b3782f6aa7b9")
                            .createRefund(CreateRefund.builder()
                                .amount(1000L)
                                .build())
                            .build();

                    InitiateRefundResponse res = sdk.transfers().initiateRefund()
                            .request(req)
                            .call();

                    if (res.createRefundResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: initiateRefund
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::InitiateRefundRequest.new(
              x_idempotency_key: '8d9af6b8-67e1-4efa-8188-68039f34097d',
              account_id: 'cb6ae9f9-afab-4f06-9eb0-8abf54a3ada2',
              transfer_id: '04022119-95be-4ef4-9dd4-b3782f6aa7b9',
              create_refund: Models::Components::CreateRefund.new(
                amount: 1000,
              ),
            )

            res = s.transfers.initiate_refund(request: req)

            unless res.create_refund_response.nil?
              # handle response
            end
    get:
      operationId: listRefunds
      description: |-
        Get a list of refunds for a card transfer.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - refundID
                    - createdOn
                    - updatedOn
                    - status
                    - amount
                  properties:
                    refundID:
                      type: string
                      format: uuid
                      description: Identifier for the refund.
                    createdOn:
                      type: string
                      format: date-time
                    updatedOn:
                      type: string
                      format: date-time
                    status:
                      type: string
                      enum:
                        - created
                        - pending
                        - completed
                        - failed
                    amount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    cardDetails:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                          enum:
                            - initiated
                            - confirmed
                            - settled
                            - failed
                            - completed
                        failureCode:
                          type: string
                          enum:
                            - call-issuer
                            - do-not-honor
                            - processing-error
                            - invalid-transaction
                            - invalid-amount
                            - no-such-issuer
                            - reenter-transaction
                            - cvv-mismatch
                            - lost-or-stolen
                            - insufficient-funds
                            - invalid-card-number
                            - invalid-merchant
                            - expired-card
                            - incorrect-pin
                            - transaction-not-allowed
                            - suspected-fraud
                            - amount-limit-exceeded
                            - velocity-limit-exceeded
                            - revocation-of-authorization
                            - card-not-activated
                            - issuer-not-available
                            - could-not-route
                            - cardholder-account-closed
                            - unknown-issue
                            - duplicate-transaction
                        initiatedOn:
                          type: string
                          format: date-time
                        confirmedOn:
                          type: string
                          format: date-time
                        settledOn:
                          type: string
                          format: date-time
                        failedOn:
                          type: string
                          format: date-time
                        completedOn:
                          type: string
                          format: date-time
                  description: Details of a card refund.
                  title: Sync
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-codeSamples:
        - lang: typescript
          label: listRefunds
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.listRefunds({
                accountID: "03f5baaa-f5d8-44bd-90db-868745fe66e8",
                transferID: "6b1aa1a1-bff1-43b9-9126-2806fdc9c732",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listRefunds
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->transfers->listRefunds(
                accountID: '03f5baaa-f5d8-44bd-90db-868745fe66e8',
                transferID: '6b1aa1a1-bff1-43b9-9126-2806fdc9c732'

            );

            if ($response->cardAcquiringRefunds !== null) {
                // handle response
            }
        - lang: python
          label: listRefunds
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.list_refunds(account_id="03f5baaa-f5d8-44bd-90db-868745fe66e8", transfer_id="6b1aa1a1-bff1-43b9-9126-2806fdc9c732")

                # Handle response
                print(res)
        - lang: java
          label: listRefunds
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListRefundsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListRefundsResponse res = sdk.transfers().listRefunds()
                            .accountID("03f5baaa-f5d8-44bd-90db-868745fe66e8")
                            .transferID("6b1aa1a1-bff1-43b9-9126-2806fdc9c732")
                            .call();

                    if (res.cardAcquiringRefunds().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listRefunds
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.list_refunds(account_id: '03f5baaa-f5d8-44bd-90db-868745fe66e8', transfer_id: '6b1aa1a1-bff1-43b9-9126-2806fdc9c732')

            unless res.card_acquiring_refunds.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}/refunds/{refundID}:
    get:
      operationId: getRefund
      description: |-
        Get details of a refund for a card transfer.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: transferID
          in: path
          required: true
          description: Identifier for the transfer.
          schema:
            type: string
            format: uuid
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: refundID
          in: path
          required: true
          description: Identifier for the refund.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - refundID
                  - createdOn
                  - updatedOn
                  - status
                  - amount
                properties:
                  refundID:
                    type: string
                    format: uuid
                    description: Identifier for the refund.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - created
                      - pending
                      - completed
                      - failed
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  cardDetails:
                    type: object
                    required:
                      - status
                    properties:
                      status:
                        type: string
                        enum:
                          - initiated
                          - confirmed
                          - settled
                          - failed
                          - completed
                      failureCode:
                        type: string
                        enum:
                          - call-issuer
                          - do-not-honor
                          - processing-error
                          - invalid-transaction
                          - invalid-amount
                          - no-such-issuer
                          - reenter-transaction
                          - cvv-mismatch
                          - lost-or-stolen
                          - insufficient-funds
                          - invalid-card-number
                          - invalid-merchant
                          - expired-card
                          - incorrect-pin
                          - transaction-not-allowed
                          - suspected-fraud
                          - amount-limit-exceeded
                          - velocity-limit-exceeded
                          - revocation-of-authorization
                          - card-not-activated
                          - issuer-not-available
                          - could-not-route
                          - cardholder-account-closed
                          - unknown-issue
                          - duplicate-transaction
                      initiatedOn:
                        type: string
                        format: date-time
                      confirmedOn:
                        type: string
                        format: date-time
                      settledOn:
                        type: string
                        format: date-time
                      failedOn:
                        type: string
                        format: date-time
                      completedOn:
                        type: string
                        format: date-time
                description: Details of a card refund.
                title: Sync
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      x-codeSamples:
        - lang: typescript
          label: getRefund
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.getRefund({
                transferID: "e90d3386-c5b2-4e2b-b841-efc590eba6c0",
                accountID: "bbb69538-edaa-4a0b-b107-f46f2da89864",
                refundID: "8e12687e-a4e8-46c9-9e11-a57bbd781e44",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getRefund
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->transfers->getRefund(
                transferID: 'e90d3386-c5b2-4e2b-b841-efc590eba6c0',
                accountID: 'bbb69538-edaa-4a0b-b107-f46f2da89864',
                refundID: '8e12687e-a4e8-46c9-9e11-a57bbd781e44'

            );

            if ($response->cardAcquiringRefund !== null) {
                // handle response
            }
        - lang: python
          label: getRefund
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.get_refund(transfer_id="e90d3386-c5b2-4e2b-b841-efc590eba6c0", account_id="bbb69538-edaa-4a0b-b107-f46f2da89864", refund_id="8e12687e-a4e8-46c9-9e11-a57bbd781e44")

                # Handle response
                print(res)
        - lang: java
          label: getRefund
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetRefundResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetRefundResponse res = sdk.transfers().getRefund()
                            .transferID("e90d3386-c5b2-4e2b-b841-efc590eba6c0")
                            .accountID("bbb69538-edaa-4a0b-b107-f46f2da89864")
                            .refundID("8e12687e-a4e8-46c9-9e11-a57bbd781e44")
                            .call();

                    if (res.cardAcquiringRefund().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getRefund
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.transfers.get_refund(transfer_id: 'e90d3386-c5b2-4e2b-b841-efc590eba6c0', account_id: 'bbb69538-edaa-4a0b-b107-f46f2da89864', refund_id: '8e12687e-a4e8-46c9-9e11-a57bbd781e44')

            unless res.card_acquiring_refund.nil?
              # handle response
            end
  /accounts/{accountID}/transfers/{transferID}/reversals:
    post:
      operationId: createReversal
      description: |-
        Reverses a card transfer by initiating a cancellation or refund depending on the transaction status. 
        Read our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/) 
        to learn more.

        To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need 
        to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: x-idempotency-key
          in: header
          required: true
          description: Prevents duplicate reversals from being created.
          schema:
            type: string
            format: uuid
        - name: accountID
          in: path
          required: true
          description: The Moov account ID.
          schema:
            type: string
            format: uuid
        - name: transferID
          in: path
          required: true
          description: The transfer ID to reverse.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully initiated a reversal.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - cancellation
                    properties:
                      cancellation:
                        type: object
                        required:
                          - cancellationID
                          - status
                          - createdOn
                        properties:
                          cancellationID:
                            type: string
                          status:
                            type: string
                            enum:
                              - pending
                              - completed
                              - failed
                          createdOn:
                            type: string
                            format: date-time
                    title: Canceled
                  - type: object
                    required:
                      - refund
                    properties:
                      refund:
                        type: object
                        required:
                          - refundID
                          - createdOn
                          - updatedOn
                          - status
                          - amount
                        properties:
                          refundID:
                            type: string
                            format: uuid
                            description: Identifier for the refund.
                          createdOn:
                            type: string
                            format: date-time
                          updatedOn:
                            type: string
                            format: date-time
                          status:
                            type: string
                            enum:
                              - created
                              - pending
                              - completed
                              - failed
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          cardDetails:
                            type: object
                            required:
                              - status
                            properties:
                              status:
                                type: string
                                enum:
                                  - initiated
                                  - confirmed
                                  - settled
                                  - failed
                                  - completed
                              failureCode:
                                type: string
                                enum:
                                  - call-issuer
                                  - do-not-honor
                                  - processing-error
                                  - invalid-transaction
                                  - invalid-amount
                                  - no-such-issuer
                                  - reenter-transaction
                                  - cvv-mismatch
                                  - lost-or-stolen
                                  - insufficient-funds
                                  - invalid-card-number
                                  - invalid-merchant
                                  - expired-card
                                  - incorrect-pin
                                  - transaction-not-allowed
                                  - suspected-fraud
                                  - amount-limit-exceeded
                                  - velocity-limit-exceeded
                                  - revocation-of-authorization
                                  - card-not-activated
                                  - issuer-not-available
                                  - could-not-route
                                  - cardholder-account-closed
                                  - unknown-issue
                                  - duplicate-transaction
                              initiatedOn:
                                type: string
                                format: date-time
                              confirmedOn:
                                type: string
                                format: date-time
                              settledOn:
                                type: string
                                format: date-time
                              failedOn:
                                type: string
                                format: date-time
                              completedOn:
                                type: string
                                format: date-time
                        description: Details of a card refund.
                        title: Sync
                    title: Refunded
                description: Contains either a cancellation or refund, depending on the method used to reverse the transfer.
              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
                format: uuid
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - cancellation
                    properties:
                      cancellation:
                        type: object
                        required:
                          - cancellationID
                          - status
                          - createdOn
                        properties:
                          cancellationID:
                            type: string
                          status:
                            type: string
                            enum:
                              - pending
                              - completed
                              - failed
                          createdOn:
                            type: string
                            format: date-time
                    title: Canceled
                  - type: object
                    required:
                      - refund
                    properties:
                      refund:
                        type: object
                        required:
                          - refundID
                          - createdOn
                          - updatedOn
                          - status
                          - amount
                        properties:
                          refundID:
                            type: string
                            format: uuid
                            description: Identifier for the refund.
                          createdOn:
                            type: string
                            format: date-time
                          updatedOn:
                            type: string
                            format: date-time
                          status:
                            type: string
                            enum:
                              - created
                              - pending
                              - completed
                              - failed
                          amount:
                            type: object
                            required:
                              - currency
                              - value
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              value:
                                type: integer
                                format: int64
                                description: |-
                                  Quantity in the smallest unit of the specified currency. 

                                  In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                                example: 1204
                          cardDetails:
                            type: object
                            required:
                              - status
                            properties:
                              status:
                                type: string
                                enum:
                                  - initiated
                                  - confirmed
                                  - settled
                                  - failed
                                  - completed
                              failureCode:
                                type: string
                                enum:
                                  - call-issuer
                                  - do-not-honor
                                  - processing-error
                                  - invalid-transaction
                                  - invalid-amount
                                  - no-such-issuer
                                  - reenter-transaction
                                  - cvv-mismatch
                                  - lost-or-stolen
                                  - insufficient-funds
                                  - invalid-card-number
                                  - invalid-merchant
                                  - expired-card
                                  - incorrect-pin
                                  - transaction-not-allowed
                                  - suspected-fraud
                                  - amount-limit-exceeded
                                  - velocity-limit-exceeded
                                  - revocation-of-authorization
                                  - card-not-activated
                                  - issuer-not-available
                                  - could-not-route
                                  - cardholder-account-closed
                                  - unknown-issue
                                  - duplicate-transaction
                              initiatedOn:
                                type: string
                                format: date-time
                              confirmedOn:
                                type: string
                                format: date-time
                              settledOn:
                                type: string
                                format: date-time
                              failedOn:
                                type: string
                                format: date-time
                              completedOn:
                                type: string
                                format: date-time
                        description: Details of a card refund.
                        title: Sync
                    title: Refunded
                description: Contains either a cancellation or refund, depending on the method used to reverse the 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  amount:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Transfers
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              required:
                - amount
              properties:
                amount:
                  type: integer
                  format: int64
                  description: Amount to reverse in cents. Partial amounts will automatically trigger a refund instead of a cancellation.
                  example: 1000
      x-codeSamples:
        - lang: typescript
          label: createReversal
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.transfers.createReversal({
                xIdempotencyKey: "b91d00b2-4ecb-4eb4-a67f-d6f76c0b7ad8",
                accountID: "f225b49d-911b-440b-baed-6065968b69cb",
                transferID: "a17b29e2-4af6-4c9d-ad3a-dd0ded2966ad",
                createReversal: {
                  amount: 1000,
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createReversal
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\CreateReversalRequest(
                xIdempotencyKey: 'b91d00b2-4ecb-4eb4-a67f-d6f76c0b7ad8',
                accountID: 'f225b49d-911b-440b-baed-6065968b69cb',
                transferID: 'a17b29e2-4af6-4c9d-ad3a-dd0ded2966ad',
                createReversal: new Components\CreateReversal(
                    amount: 1000,
                ),
            );

            $response = $sdk->transfers->createReversal(
                request: $request
            );

            if ($response->reversal !== null) {
                // handle response
            }
        - lang: python
          label: createReversal
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.transfers.create_reversal(x_idempotency_key="b91d00b2-4ecb-4eb4-a67f-d6f76c0b7ad8", account_id="f225b49d-911b-440b-baed-6065968b69cb", transfer_id="a17b29e2-4af6-4c9d-ad3a-dd0ded2966ad", amount=1000)

                # Handle response
                print(res)
        - lang: java
          label: createReversal
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateReversal;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.ReversalValidationError;
            import org.openapis.openapi.models.operations.CreateReversalResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, ReversalValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateReversalResponse res = sdk.transfers().createReversal()
                            .xIdempotencyKey("b91d00b2-4ecb-4eb4-a67f-d6f76c0b7ad8")
                            .accountID("f225b49d-911b-440b-baed-6065968b69cb")
                            .transferID("a17b29e2-4af6-4c9d-ad3a-dd0ded2966ad")
                            .createReversal(CreateReversal.builder()
                                .amount(1000L)
                                .build())
                            .call();

                    if (res.reversal().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createReversal
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::CreateReversalRequest.new(
              x_idempotency_key: 'b91d00b2-4ecb-4eb4-a67f-d6f76c0b7ad8',
              account_id: 'f225b49d-911b-440b-baed-6065968b69cb',
              transfer_id: 'a17b29e2-4af6-4c9d-ad3a-dd0ded2966ad',
              create_reversal: Models::Components::CreateReversal.new(
                amount: 1000,
              ),
            )

            res = s.transfers.create_reversal(request: req)

            unless res.reversal.nil?
              # handle response
            end
  /accounts/{accountID}/underwriting:
    get:
      operationId: getUnderwriting
      description: |-
        Retrieve underwriting associated with a given Moov account. 

        Read our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  averageTransactionSize:
                    type: integer
                    format: int64
                  maxTransactionSize:
                    type: integer
                    format: int64
                  averageMonthlyTransactionVolume:
                    type: integer
                    format: int64
                  status:
                    type: string
                    enum:
                      - approved
                      - rejected
                      - pendingReview
                      - pending
                      - notRequested
                    deprecated: true
                  volumeByCustomerType:
                    type: object
                    required:
                      - businessToBusinessPercentage
                      - consumerToBusinessPercentage
                    properties:
                      businessToBusinessPercentage:
                        type: integer
                        format: int32
                      consumerToBusinessPercentage:
                        type: integer
                        format: int32
                  cardVolumeDistribution:
                    type: object
                    required:
                      - ecommercePercentage
                      - cardPresentPercentage
                      - mailOrPhonePercentage
                      - debtRepaymentPercentage
                    properties:
                      ecommercePercentage:
                        type: integer
                        format: int32
                      cardPresentPercentage:
                        type: integer
                        format: int32
                      mailOrPhonePercentage:
                        type: integer
                        format: int32
                      debtRepaymentPercentage:
                        type: integer
                        format: int32
                  fulfillment:
                    type: object
                    required:
                      - hasPhysicalGoods
                      - isShippingProduct
                      - shipmentDurationDays
                      - returnPolicy
                    properties:
                      hasPhysicalGoods:
                        type: boolean
                      isShippingProduct:
                        type: boolean
                      shipmentDurationDays:
                        type: integer
                        format: int64
                      returnPolicy:
                        type: string
                        enum:
                          - none
                          - exchangeOnly
                          - withinThirtyDays
                          - other
                  geographicReach:
                    type: string
                    enum:
                      - international-only
                      - us-and-international
                      - us-only
                  businessPresence:
                    type: string
                    enum:
                      - commercial-office
                      - home-based
                      - mixed-presence
                      - mobile-business
                      - online-only
                      - retail-storefront
                  pendingLitigation:
                    type: string
                    enum:
                      - bankruptcy-or-insolvency
                      - consumer-protection-or-class-action
                      - data-breach-or-privacy
                      - employment-or-workplace-disputes
                      - fraud-or-financial-crime
                      - government-enforcement-or-investigation
                      - intellectual-property
                      - none
                      - other
                      - personal-injury-or-medical
                  volumeShareByCustomerType:
                    type: object
                    properties:
                      business:
                        type: integer
                        format: int32
                      consumer:
                        type: integer
                        format: int32
                      p2p:
                        type: integer
                        format: int32
                  collectFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      cardPayments:
                        type: object
                        properties:
                          cardAcceptanceMethods:
                            type: object
                            properties:
                              inPersonPercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                              mailOrPhonePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                              onlinePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                            description: Describes the distribution of card transactions by payment method.
                          currentlyAcceptsCards:
                            type: boolean
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                          fulfillment:
                            type: object
                            properties:
                              method:
                                type: string
                                enum:
                                  - bill-or-debt-payment
                                  - digital-content
                                  - donation
                                  - in-person-service
                                  - local-pickup-or-delivery
                                  - other
                                  - remote-service
                                  - shipped-physical-goods
                                  - subscription-or-membership
                              timeframe:
                                type: string
                                enum:
                                  - immediate
                                  - other
                                  - over-30-days
                                  - pre-order
                                  - recurring-schedule
                                  - scheduled-event
                                  - within-30-days
                                  - within-7-days
                          refundPolicy:
                            type: string
                            enum:
                              - conditional-refund
                              - custom-policy
                              - event-based-policy
                              - full-refund-extended-window
                              - full-refund-within-30-days
                              - no-refunds
                              - partial-refund
                              - prorated-refund
                              - store-credit-only
                  moneyTransfer:
                    type: object
                    properties:
                      pullFromCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                  sendFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      rtp:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      instantBank:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                description: Describes underwriting values (in USD) used for card payment acceptance.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Underwriting
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getUnderwriting
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.underwriting.get({
                accountID: "efe07546-f697-4da5-bf73-d9987efd4cdd",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getUnderwriting
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->underwriting->get(
                accountID: 'efe07546-f697-4da5-bf73-d9987efd4cdd'
            );

            if ($response->underwriting !== null) {
                // handle response
            }
        - lang: python
          label: getUnderwriting
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.underwriting.get(account_id="efe07546-f697-4da5-bf73-d9987efd4cdd")

                # Handle response
                print(res)
        - lang: java
          label: getUnderwriting
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetUnderwritingResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetUnderwritingResponse res = sdk.underwriting().get()
                            .accountID("efe07546-f697-4da5-bf73-d9987efd4cdd")
                            .call();

                    if (res.underwriting().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getUnderwriting
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.underwriting.get(account_id: 'efe07546-f697-4da5-bf73-d9987efd4cdd')

            unless res.underwriting.nil?
              # handle response
            end
    post:
      operationId: saveUnderwriting
      description: |-
        Create or update the account's underwriting.

        Read our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  averageTransactionSize:
                    type: integer
                    format: int64
                  maxTransactionSize:
                    type: integer
                    format: int64
                  averageMonthlyTransactionVolume:
                    type: integer
                    format: int64
                  status:
                    type: string
                    enum:
                      - approved
                      - rejected
                      - pendingReview
                      - pending
                      - notRequested
                    deprecated: true
                  volumeByCustomerType:
                    type: object
                    required:
                      - businessToBusinessPercentage
                      - consumerToBusinessPercentage
                    properties:
                      businessToBusinessPercentage:
                        type: integer
                        format: int32
                      consumerToBusinessPercentage:
                        type: integer
                        format: int32
                  cardVolumeDistribution:
                    type: object
                    required:
                      - ecommercePercentage
                      - cardPresentPercentage
                      - mailOrPhonePercentage
                      - debtRepaymentPercentage
                    properties:
                      ecommercePercentage:
                        type: integer
                        format: int32
                      cardPresentPercentage:
                        type: integer
                        format: int32
                      mailOrPhonePercentage:
                        type: integer
                        format: int32
                      debtRepaymentPercentage:
                        type: integer
                        format: int32
                  fulfillment:
                    type: object
                    required:
                      - hasPhysicalGoods
                      - isShippingProduct
                      - shipmentDurationDays
                      - returnPolicy
                    properties:
                      hasPhysicalGoods:
                        type: boolean
                      isShippingProduct:
                        type: boolean
                      shipmentDurationDays:
                        type: integer
                        format: int64
                      returnPolicy:
                        type: string
                        enum:
                          - none
                          - exchangeOnly
                          - withinThirtyDays
                          - other
                  geographicReach:
                    type: string
                    enum:
                      - international-only
                      - us-and-international
                      - us-only
                  businessPresence:
                    type: string
                    enum:
                      - commercial-office
                      - home-based
                      - mixed-presence
                      - mobile-business
                      - online-only
                      - retail-storefront
                  pendingLitigation:
                    type: string
                    enum:
                      - bankruptcy-or-insolvency
                      - consumer-protection-or-class-action
                      - data-breach-or-privacy
                      - employment-or-workplace-disputes
                      - fraud-or-financial-crime
                      - government-enforcement-or-investigation
                      - intellectual-property
                      - none
                      - other
                      - personal-injury-or-medical
                  volumeShareByCustomerType:
                    type: object
                    properties:
                      business:
                        type: integer
                        format: int32
                      consumer:
                        type: integer
                        format: int32
                      p2p:
                        type: integer
                        format: int32
                  collectFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      cardPayments:
                        type: object
                        properties:
                          cardAcceptanceMethods:
                            type: object
                            properties:
                              inPersonPercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                              mailOrPhonePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                              onlinePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                            description: Describes the distribution of card transactions by payment method.
                          currentlyAcceptsCards:
                            type: boolean
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                          fulfillment:
                            type: object
                            properties:
                              method:
                                type: string
                                enum:
                                  - bill-or-debt-payment
                                  - digital-content
                                  - donation
                                  - in-person-service
                                  - local-pickup-or-delivery
                                  - other
                                  - remote-service
                                  - shipped-physical-goods
                                  - subscription-or-membership
                              timeframe:
                                type: string
                                enum:
                                  - immediate
                                  - other
                                  - over-30-days
                                  - pre-order
                                  - recurring-schedule
                                  - scheduled-event
                                  - within-30-days
                                  - within-7-days
                          refundPolicy:
                            type: string
                            enum:
                              - conditional-refund
                              - custom-policy
                              - event-based-policy
                              - full-refund-extended-window
                              - full-refund-within-30-days
                              - no-refunds
                              - partial-refund
                              - prorated-refund
                              - store-credit-only
                  moneyTransfer:
                    type: object
                    properties:
                      pullFromCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                  sendFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      rtp:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      instantBank:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                description: Describes underwriting values (in USD) used for card payment acceptance.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  geographicReach:
                    type: string
                  businessPresence:
                    type: string
                  pendingLitigation:
                    type: string
                  volumeShareByCustomerType:
                    type: object
                    properties:
                      business:
                        type: string
                      consumer:
                        type: string
                      p2p:
                        type: string
                  collectFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                      cardPayments:
                        type: object
                        properties:
                          cardAcceptanceMethods:
                            type: object
                            properties:
                              inPersonPercentage:
                                type: string
                              mailOrPhonePercentage:
                                type: string
                              onlinePercentage:
                                type: string
                          currentlyAcceptsCards:
                            type: string
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                          fulfillment:
                            type: object
                            properties:
                              method:
                                type: string
                              timeframe:
                                type: string
                          refundPolicy:
                            type: string
                  moneyTransfer:
                    type: object
                    properties:
                      pullFromCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                  sendFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                      rtp:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                      instantBank:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: string
                              maximumTransactionAmount:
                                type: string
                              monthlyVolumeRange:
                                type: string
                  averageMonthlyTransactionVolume:
                    type: string
                  error:
                    type: string
                  averageTransactionSize:
                    type: string
                  maxTransactionSize:
                    type: string
                  volumeByCustomerType:
                    type: object
                    properties:
                      businessToBusinessPercentage:
                        type: string
                      consumerToBusinessPercentage:
                        type: string
                  cardVolumeDistribution:
                    type: object
                    properties:
                      ecommercePercentage:
                        type: string
                      cardPresentPercentage:
                        type: string
                      mailOrPhonePercentage:
                        type: string
                      debtRepaymentPercentage:
                        type: string
                  fulfillment:
                    type: object
                    properties:
                      shipmentDurationDays:
                        type: string
                      returnPolicy:
                        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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Underwriting
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                geographicReach:
                  type: string
                  enum:
                    - international-only
                    - us-and-international
                    - us-only
                businessPresence:
                  type: string
                  enum:
                    - commercial-office
                    - home-based
                    - mixed-presence
                    - mobile-business
                    - online-only
                    - retail-storefront
                pendingLitigation:
                  type: string
                  enum:
                    - bankruptcy-or-insolvency
                    - consumer-protection-or-class-action
                    - data-breach-or-privacy
                    - employment-or-workplace-disputes
                    - fraud-or-financial-crime
                    - government-enforcement-or-investigation
                    - intellectual-property
                    - none
                    - other
                    - personal-injury-or-medical
                volumeShareByCustomerType:
                  type: object
                  properties:
                    business:
                      type: integer
                      format: int32
                    consumer:
                      type: integer
                      format: int32
                    p2p:
                      type: integer
                      format: int32
                collectFunds:
                  type: object
                  properties:
                    ach:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                    cardPayments:
                      type: object
                      properties:
                        cardAcceptanceMethods:
                          type: object
                          properties:
                            inPersonPercentage:
                              type: integer
                              format: int32
                              description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                            mailOrPhonePercentage:
                              type: integer
                              format: int32
                              description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                            onlinePercentage:
                              type: integer
                              format: int32
                              description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                          description: Describes the distribution of card transactions by payment method.
                        currentlyAcceptsCards:
                          type: boolean
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                        fulfillment:
                          type: object
                          properties:
                            method:
                              type: string
                              enum:
                                - bill-or-debt-payment
                                - digital-content
                                - donation
                                - in-person-service
                                - local-pickup-or-delivery
                                - other
                                - remote-service
                                - shipped-physical-goods
                                - subscription-or-membership
                            timeframe:
                              type: string
                              enum:
                                - immediate
                                - other
                                - over-30-days
                                - pre-order
                                - recurring-schedule
                                - scheduled-event
                                - within-30-days
                                - within-7-days
                        refundPolicy:
                          type: string
                          enum:
                            - conditional-refund
                            - custom-policy
                            - event-based-policy
                            - full-refund-extended-window
                            - full-refund-within-30-days
                            - no-refunds
                            - partial-refund
                            - prorated-refund
                            - store-credit-only
                moneyTransfer:
                  type: object
                  properties:
                    pullFromCard:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                    pushToCard:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                sendFunds:
                  type: object
                  properties:
                    ach:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                    pushToCard:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                    rtp:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                    instantBank:
                      type: object
                      properties:
                        estimatedActivity:
                          type: object
                          properties:
                            averageTransactionAmount:
                              type: integer
                              format: int64
                            maximumTransactionAmount:
                              type: integer
                              format: int64
                            monthlyVolumeRange:
                              type: string
                              enum:
                                - under-10k
                                - 10k-50k
                                - 50k-100k
                                - 100k-250k
                                - 250k-500k
                                - 500k-1m
                                - 1m-5m
                                - over-5m
                              description: The low value in each range is included. The high value in each range is excluded.
                submissionIntent:
                  type: string
                  enum:
                    - wait
                    - submit
      x-speakeasy-name-override: save
      x-codeSamples:
        - lang: typescript
          label: saveUnderwriting
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.underwriting.save({
                accountID: "ffe3ca1b-de3f-4305-8d8c-cfd28f279cad",
                upsertUnderwriting: {},
              });

              console.log(result);
            }

            run();
        - lang: php
          label: saveUnderwriting
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $upsertUnderwriting = new Components\UpsertUnderwriting();

            $response = $sdk->underwriting->save(
                accountID: 'ffe3ca1b-de3f-4305-8d8c-cfd28f279cad',
                upsertUnderwriting: $upsertUnderwriting

            );

            if ($response->underwriting !== null) {
                // handle response
            }
        - lang: python
          label: saveUnderwriting
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.underwriting.save(account_id="ffe3ca1b-de3f-4305-8d8c-cfd28f279cad")

                # Handle response
                print(res)
        - lang: java
          label: saveUnderwriting
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.UpsertUnderwriting;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpsertUnderwritingError;
            import org.openapis.openapi.models.operations.SaveUnderwritingResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpsertUnderwritingError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    SaveUnderwritingResponse res = sdk.underwriting().save()
                            .accountID("ffe3ca1b-de3f-4305-8d8c-cfd28f279cad")
                            .upsertUnderwriting(UpsertUnderwriting.builder()
                                .build())
                            .call();

                    if (res.underwriting().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: saveUnderwriting
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.underwriting.save(account_id: 'ffe3ca1b-de3f-4305-8d8c-cfd28f279cad', upsert_underwriting: Models::Components::UpsertUnderwriting.new())

            unless res.underwriting.nil?
              # handle response
            end
    put:
      operationId: upsertUnderwriting
      description: |-
        Create or update the account's underwriting.

        Read our [underwriting guide](https://docs.moov.io/guides/accounts/requirements/underwriting/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/profile.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  averageTransactionSize:
                    type: integer
                    format: int64
                  maxTransactionSize:
                    type: integer
                    format: int64
                  averageMonthlyTransactionVolume:
                    type: integer
                    format: int64
                  status:
                    type: string
                    enum:
                      - approved
                      - rejected
                      - pendingReview
                      - pending
                      - notRequested
                    deprecated: true
                  volumeByCustomerType:
                    type: object
                    required:
                      - businessToBusinessPercentage
                      - consumerToBusinessPercentage
                    properties:
                      businessToBusinessPercentage:
                        type: integer
                        format: int32
                      consumerToBusinessPercentage:
                        type: integer
                        format: int32
                  cardVolumeDistribution:
                    type: object
                    required:
                      - ecommercePercentage
                      - cardPresentPercentage
                      - mailOrPhonePercentage
                      - debtRepaymentPercentage
                    properties:
                      ecommercePercentage:
                        type: integer
                        format: int32
                      cardPresentPercentage:
                        type: integer
                        format: int32
                      mailOrPhonePercentage:
                        type: integer
                        format: int32
                      debtRepaymentPercentage:
                        type: integer
                        format: int32
                  fulfillment:
                    type: object
                    required:
                      - hasPhysicalGoods
                      - isShippingProduct
                      - shipmentDurationDays
                      - returnPolicy
                    properties:
                      hasPhysicalGoods:
                        type: boolean
                      isShippingProduct:
                        type: boolean
                      shipmentDurationDays:
                        type: integer
                        format: int64
                      returnPolicy:
                        type: string
                        enum:
                          - none
                          - exchangeOnly
                          - withinThirtyDays
                          - other
                  geographicReach:
                    type: string
                    enum:
                      - international-only
                      - us-and-international
                      - us-only
                  businessPresence:
                    type: string
                    enum:
                      - commercial-office
                      - home-based
                      - mixed-presence
                      - mobile-business
                      - online-only
                      - retail-storefront
                  pendingLitigation:
                    type: string
                    enum:
                      - bankruptcy-or-insolvency
                      - consumer-protection-or-class-action
                      - data-breach-or-privacy
                      - employment-or-workplace-disputes
                      - fraud-or-financial-crime
                      - government-enforcement-or-investigation
                      - intellectual-property
                      - none
                      - other
                      - personal-injury-or-medical
                  volumeShareByCustomerType:
                    type: object
                    properties:
                      business:
                        type: integer
                        format: int32
                      consumer:
                        type: integer
                        format: int32
                      p2p:
                        type: integer
                        format: int32
                  collectFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      cardPayments:
                        type: object
                        properties:
                          cardAcceptanceMethods:
                            type: object
                            properties:
                              inPersonPercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                              mailOrPhonePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                              onlinePercentage:
                                type: integer
                                format: int32
                                description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                            description: Describes the distribution of card transactions by payment method.
                          currentlyAcceptsCards:
                            type: boolean
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                          fulfillment:
                            type: object
                            properties:
                              method:
                                type: string
                                enum:
                                  - bill-or-debt-payment
                                  - digital-content
                                  - donation
                                  - in-person-service
                                  - local-pickup-or-delivery
                                  - other
                                  - remote-service
                                  - shipped-physical-goods
                                  - subscription-or-membership
                              timeframe:
                                type: string
                                enum:
                                  - immediate
                                  - other
                                  - over-30-days
                                  - pre-order
                                  - recurring-schedule
                                  - scheduled-event
                                  - within-30-days
                                  - within-7-days
                          refundPolicy:
                            type: string
                            enum:
                              - conditional-refund
                              - custom-policy
                              - event-based-policy
                              - full-refund-extended-window
                              - full-refund-within-30-days
                              - no-refunds
                              - partial-refund
                              - prorated-refund
                              - store-credit-only
                  moneyTransfer:
                    type: object
                    properties:
                      pullFromCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                  sendFunds:
                    type: object
                    properties:
                      ach:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      pushToCard:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      rtp:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                      instantBank:
                        type: object
                        properties:
                          estimatedActivity:
                            type: object
                            properties:
                              averageTransactionAmount:
                                type: integer
                                format: int64
                              maximumTransactionAmount:
                                type: integer
                                format: int64
                              monthlyVolumeRange:
                                type: string
                                enum:
                                  - under-10k
                                  - 10k-50k
                                  - 50k-100k
                                  - 100k-250k
                                  - 250k-500k
                                  - 500k-1m
                                  - 1m-5m
                                  - over-5m
                                description: The low value in each range is included. The high value in each range is excluded.
                description: Describes underwriting values (in USD) used for card payment acceptance.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    properties:
                      averageMonthlyTransactionVolume:
                        type: string
                      averageTransactionSize:
                        type: string
                      maxTransactionSize:
                        type: string
                      volumeByCustomerType:
                        type: object
                        properties:
                          businessToBusinessPercentage:
                            type: string
                          consumerToBusinessPercentage:
                            type: string
                      cardVolumeDistribution:
                        type: object
                        properties:
                          ecommercePercentage:
                            type: string
                          cardPresentPercentage:
                            type: string
                          mailOrPhonePercentage:
                            type: string
                          debtRepaymentPercentage:
                            type: string
                      fulfillment:
                        type: object
                        properties:
                          shipmentDurationDays:
                            type: string
                          returnPolicy:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Underwriting
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - averageTransactionSize
                - maxTransactionSize
                - averageMonthlyTransactionVolume
                - volumeByCustomerType
                - cardVolumeDistribution
                - fulfillment
              properties:
                averageTransactionSize:
                  type: integer
                  format: int64
                maxTransactionSize:
                  type: integer
                  format: int64
                averageMonthlyTransactionVolume:
                  type: integer
                  format: int64
                volumeByCustomerType:
                  type: object
                  required:
                    - businessToBusinessPercentage
                    - consumerToBusinessPercentage
                  properties:
                    businessToBusinessPercentage:
                      type: integer
                      format: int32
                    consumerToBusinessPercentage:
                      type: integer
                      format: int32
                cardVolumeDistribution:
                  type: object
                  required:
                    - ecommercePercentage
                    - cardPresentPercentage
                    - mailOrPhonePercentage
                    - debtRepaymentPercentage
                  properties:
                    ecommercePercentage:
                      type: integer
                      format: int32
                    cardPresentPercentage:
                      type: integer
                      format: int32
                    mailOrPhonePercentage:
                      type: integer
                      format: int32
                    debtRepaymentPercentage:
                      type: integer
                      format: int32
                fulfillment:
                  type: object
                  required:
                    - hasPhysicalGoods
                    - isShippingProduct
                    - shipmentDurationDays
                    - returnPolicy
                  properties:
                    hasPhysicalGoods:
                      type: boolean
                    isShippingProduct:
                      type: boolean
                    shipmentDurationDays:
                      type: integer
                      format: int64
                    returnPolicy:
                      type: string
                      enum:
                        - none
                        - exchangeOnly
                        - withinThirtyDays
                        - other
      x-speakeasy-name-override: upsert
      x-codeSamples:
        - lang: typescript
          label: upsertUnderwriting
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.underwriting.upsert({
                accountID: "371bf394-45df-4ba8-a615-ad5483b1f963",
                updateUnderwriting: {
                  averageTransactionSize: 622191,
                  maxTransactionSize: 123692,
                  averageMonthlyTransactionVolume: 438164,
                  volumeByCustomerType: {
                    businessToBusinessPercentage: 671399,
                    consumerToBusinessPercentage: 482010,
                  },
                  cardVolumeDistribution: {
                    ecommercePercentage: 47450,
                    cardPresentPercentage: 146275,
                    mailOrPhonePercentage: 309315,
                    debtRepaymentPercentage: 990303,
                  },
                  fulfillment: {
                    hasPhysicalGoods: true,
                    isShippingProduct: true,
                    shipmentDurationDays: 388451,
                    returnPolicy: "other",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: upsertUnderwriting
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateUnderwriting = new Components\UpdateUnderwriting(
                averageTransactionSize: 622191,
                maxTransactionSize: 123692,
                averageMonthlyTransactionVolume: 438164,
                volumeByCustomerType: new Components\VolumeByCustomerType(
                    businessToBusinessPercentage: 671399,
                    consumerToBusinessPercentage: 482010,
                ),
                cardVolumeDistribution: new Components\CardVolumeDistribution(
                    ecommercePercentage: 47450,
                    cardPresentPercentage: 146275,
                    mailOrPhonePercentage: 309315,
                    debtRepaymentPercentage: 990303,
                ),
                fulfillment: new Components\FulfillmentDetails(
                    hasPhysicalGoods: true,
                    isShippingProduct: true,
                    shipmentDurationDays: 388451,
                    returnPolicy: Components\ReturnPolicyType::Other,
                ),
            );

            $response = $sdk->underwriting->upsert(
                accountID: '371bf394-45df-4ba8-a615-ad5483b1f963',
                updateUnderwriting: $updateUnderwriting

            );

            if ($response->underwriting !== null) {
                // handle response
            }
        - lang: python
          label: upsertUnderwriting
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.underwriting.upsert(account_id="371bf394-45df-4ba8-a615-ad5483b1f963", average_transaction_size=622191, max_transaction_size=123692, average_monthly_transaction_volume=438164, volume_by_customer_type={
                    "business_to_business_percentage": 671399,
                    "consumer_to_business_percentage": 482010,
                }, card_volume_distribution={
                    "ecommerce_percentage": 47450,
                    "card_present_percentage": 146275,
                    "mail_or_phone_percentage": 309315,
                    "debt_repayment_percentage": 990303,
                }, fulfillment={
                    "has_physical_goods": True,
                    "is_shipping_product": True,
                    "shipment_duration_days": 388451,
                    "return_policy": "other",
                })

                # Handle response
                print(res)
        - lang: java
          label: upsertUnderwriting
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpdateUnderwritingError;
            import org.openapis.openapi.models.operations.UpsertUnderwritingResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpdateUnderwritingError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpsertUnderwritingResponse res = sdk.underwriting().upsert()
                            .accountID("371bf394-45df-4ba8-a615-ad5483b1f963")
                            .updateUnderwriting(UpdateUnderwriting.builder()
                                .averageTransactionSize(622191L)
                                .maxTransactionSize(123692L)
                                .averageMonthlyTransactionVolume(438164L)
                                .volumeByCustomerType(VolumeByCustomerType.builder()
                                    .businessToBusinessPercentage(671399)
                                    .consumerToBusinessPercentage(482010)
                                    .build())
                                .cardVolumeDistribution(CardVolumeDistribution.builder()
                                    .ecommercePercentage(47450)
                                    .cardPresentPercentage(146275)
                                    .mailOrPhonePercentage(309315)
                                    .debtRepaymentPercentage(990303)
                                    .build())
                                .fulfillment(FulfillmentDetails.builder()
                                    .hasPhysicalGoods(true)
                                    .isShippingProduct(true)
                                    .shipmentDurationDays(388451L)
                                    .returnPolicy(ReturnPolicyType.OTHER)
                                    .build())
                                .build())
                            .call();

                    if (res.underwriting().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: upsertUnderwriting
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.underwriting.upsert(account_id: '371bf394-45df-4ba8-a615-ad5483b1f963', update_underwriting: Models::Components::UpdateUnderwriting.new(
              average_transaction_size: 622_191,
              max_transaction_size: 123_692,
              average_monthly_transaction_volume: 438_164,
              volume_by_customer_type: Models::Components::VolumeByCustomerType.new(
                business_to_business_percentage: 671_399,
                consumer_to_business_percentage: 482_010,
              ),
              card_volume_distribution: Models::Components::CardVolumeDistribution.new(
                ecommerce_percentage: 47_450,
                card_present_percentage: 146_275,
                mail_or_phone_percentage: 309_315,
                debt_repayment_percentage: 990_303,
              ),
              fulfillment: Models::Components::FulfillmentDetails.new(
                has_physical_goods: true,
                is_shipping_product: true,
                shipment_duration_days: 388_451,
                return_policy: Models::Components::ReturnPolicyType::OTHER,
              ),
            ))

            unless res.underwriting.nil?
              # handle response
            end
  /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.

        Read our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov account ID the wallet belongs to.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - walletID
                  - availableBalance
                  - partnerAccountID
                  - name
                  - status
                  - walletType
                  - description
                  - createdOn
                properties:
                  walletID:
                    type: string
                    format: uuid
                  availableBalance:
                    type: object
                    required:
                      - currency
                      - value
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                  partnerAccountID:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: Name of the wallet
                  status:
                    type: string
                    enum:
                      - active
                      - closed
                    description: |-
                      Status of a wallet.
                        - `active`: The wallet is available for use and has an enabled payment method.
                        - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
                  walletType:
                    type: string
                    enum:
                      - default
                      - general
                    description: |-
                      Type of a wallet.
                        - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                        - `general`: An additional, user-defined wallet created via API or Dashboard.
                  description:
                    type: string
                    description: Description of the wallet
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  createdOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                description: A Moov wallet to store funds for transfers.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  description:
                    type: string
                  metadata:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: Name of the wallet.
                description:
                  type: string
                  description: Description of the wallet.
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                  example:
                    optional: metadata
              example:
                name: My wallet
                description: A general wallet used for my payments
                metadata:
                  optional: metadata
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createWallet
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.wallets.create({
                accountID: "b4b3f37c-b73e-4271-b8ec-108a8593c9b9",
                createWallet: {
                  name: "My wallet",
                  description: "A general wallet used for my payments",
                  metadata: {
                    "optional": "metadata",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createWallet
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createWallet = new Components\CreateWallet(
                name: 'My wallet',
                description: 'A general wallet used for my payments',
                metadata: [
                    'optional' => 'metadata',
                ],
            );

            $response = $sdk->wallets->create(
                accountID: 'b4b3f37c-b73e-4271-b8ec-108a8593c9b9',
                createWallet: $createWallet

            );

            if ($response->wallet !== null) {
                // handle response
            }
        - lang: python
          label: createWallet
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallets.create(account_id="b4b3f37c-b73e-4271-b8ec-108a8593c9b9", name="My wallet", description="A general wallet used for my payments", metadata={
                    "optional": "metadata",
                })

                # Handle response
                print(res)
        - lang: java
          label: createWallet
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.Map;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateWallet;
            import org.openapis.openapi.models.errors.CreateWalletValidationError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateWalletResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, CreateWalletValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateWalletResponse res = sdk.wallets().create()
                            .accountID("b4b3f37c-b73e-4271-b8ec-108a8593c9b9")
                            .createWallet(CreateWallet.builder()
                                .name("My wallet")
                                .description("A general wallet used for my payments")
                                .metadata(Map.ofEntries(
                                    Map.entry("optional", "metadata")))
                                .build())
                            .call();

                    if (res.wallet().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createWallet
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.wallets.create(account_id: 'b4b3f37c-b73e-4271-b8ec-108a8593c9b9', create_wallet: Models::Components::CreateWallet.new(
              name: 'My wallet',
              description: 'A general wallet used for my payments',
              metadata: {
                "optional": 'metadata',
              },
            ))

            unless res.wallet.nil?
              # handle response
            end
    get:
      operationId: listWallets
      description: |-
        List the wallets associated with a Moov account. 

        Read our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: status
          in: query
          required: false
          description: Optional parameter for filtering wallets by status.
          schema:
            type: string
            enum:
              - active
              - closed
            description: |-
              Status of a wallet.
                - `active`: The wallet is available for use and has an enabled payment method.
                - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
          explode: false
        - name: walletType
          in: query
          required: false
          description: Optional parameter for filtering wallets by type.
          schema:
            type: string
            enum:
              - default
              - general
            description: |-
              Type of a wallet.
                - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                - `general`: An additional, user-defined wallet created via API or Dashboard.
          explode: false
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - walletID
                    - availableBalance
                    - partnerAccountID
                    - name
                    - status
                    - walletType
                    - description
                    - createdOn
                  properties:
                    walletID:
                      type: string
                      format: uuid
                    availableBalance:
                      type: object
                      required:
                        - currency
                        - value
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                    partnerAccountID:
                      type: string
                      format: uuid
                    name:
                      type: string
                      description: Name of the wallet
                    status:
                      type: string
                      enum:
                        - active
                        - closed
                      description: |-
                        Status of a wallet.
                          - `active`: The wallet is available for use and has an enabled payment method.
                          - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
                    walletType:
                      type: string
                      enum:
                        - default
                        - general
                      description: |-
                        Type of a wallet.
                          - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                          - `general`: An additional, user-defined wallet created via API or Dashboard.
                    description:
                      type: string
                      description: Description of the wallet
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                    createdOn:
                      type: string
                      format: date-time
                    closedOn:
                      type: string
                      format: date-time
                  description: A Moov wallet to store funds for transfers.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  walletType:
                    type: string
                  skip:
                    type: string
                  count:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallets
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listWallets
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.wallets.list({
                skip: 60,
                count: 20,
                accountID: "25221c3c-8e3f-40db-8570-66d17b51014d",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listWallets
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListWalletsRequest(
                skip: 60,
                count: 20,
                accountID: '25221c3c-8e3f-40db-8570-66d17b51014d',
            );

            $response = $sdk->wallets->list(
                request: $request
            );

            if ($response->wallets !== null) {
                // handle response
            }
        - lang: python
          label: listWallets
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallets.list(account_id="25221c3c-8e3f-40db-8570-66d17b51014d", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listWallets
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.ListWalletsValidationError;
            import org.openapis.openapi.models.operations.ListWalletsRequest;
            import org.openapis.openapi.models.operations.ListWalletsResponse;

            public class Application {

                public static void main(String[] args) throws ListWalletsValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListWalletsRequest req = ListWalletsRequest.builder()
                            .accountID("25221c3c-8e3f-40db-8570-66d17b51014d")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListWalletsResponse res = sdk.wallets().list()
                            .request(req)
                            .call();

                    if (res.wallets().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listWallets
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListWalletsRequest.new(
              skip: 60,
              count: 20,
              account_id: '25221c3c-8e3f-40db-8570-66d17b51014d',
            )

            res = s.wallets.list(request: req)

            unless res.wallets.nil?
              # handle response
            end
  /accounts/{accountID}/wallets/{walletID}:
    get:
      operationId: getWallet
      description: |-
        Get information on a specific wallet (e.g., the available balance). 

        Read our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: walletID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - walletID
                  - availableBalance
                  - partnerAccountID
                  - name
                  - status
                  - walletType
                  - description
                  - createdOn
                properties:
                  walletID:
                    type: string
                    format: uuid
                  availableBalance:
                    type: object
                    required:
                      - currency
                      - value
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                  partnerAccountID:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: Name of the wallet
                  status:
                    type: string
                    enum:
                      - active
                      - closed
                    description: |-
                      Status of a wallet.
                        - `active`: The wallet is available for use and has an enabled payment method.
                        - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
                  walletType:
                    type: string
                    enum:
                      - default
                      - general
                    description: |-
                      Type of a wallet.
                        - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                        - `general`: An additional, user-defined wallet created via API or Dashboard.
                  description:
                    type: string
                    description: Description of the wallet
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  createdOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                description: A Moov wallet to store funds for transfers.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallets
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getWallet
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.wallets.get({
                accountID: "d04dfd44-8194-422f-a666-08d30c183f9a",
                walletID: "10a6bc37-8eeb-41c8-bf5f-77b40955542a",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getWallet
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->wallets->get(
                accountID: 'd04dfd44-8194-422f-a666-08d30c183f9a',
                walletID: '10a6bc37-8eeb-41c8-bf5f-77b40955542a'

            );

            if ($response->wallet !== null) {
                // handle response
            }
        - lang: python
          label: getWallet
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallets.get(account_id="d04dfd44-8194-422f-a666-08d30c183f9a", wallet_id="10a6bc37-8eeb-41c8-bf5f-77b40955542a")

                # Handle response
                print(res)
        - lang: java
          label: getWallet
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetWalletResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetWalletResponse res = sdk.wallets().get()
                            .accountID("d04dfd44-8194-422f-a666-08d30c183f9a")
                            .walletID("10a6bc37-8eeb-41c8-bf5f-77b40955542a")
                            .call();

                    if (res.wallet().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getWallet
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.wallets.get(account_id: 'd04dfd44-8194-422f-a666-08d30c183f9a', wallet_id: '10a6bc37-8eeb-41c8-bf5f-77b40955542a')

            unless res.wallet.nil?
              # handle response
            end
    patch:
      operationId: updateWallet
      description: |-
        Update properties of an existing wallet such as name, description, status, or metadata.

        Read our [Moov wallets guide](https://docs.moov.io/guides/sources/wallets/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: walletID
          in: path
          required: true
          description: Identifier for the wallet.
          schema:
            type: string
            format: uuid
        - name: accountID
          in: path
          required: true
          description: The Moov account ID the wallet belongs to.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - walletID
                  - availableBalance
                  - partnerAccountID
                  - name
                  - status
                  - walletType
                  - description
                  - createdOn
                properties:
                  walletID:
                    type: string
                    format: uuid
                  availableBalance:
                    type: object
                    required:
                      - currency
                      - value
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                  partnerAccountID:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: Name of the wallet
                  status:
                    type: string
                    enum:
                      - active
                      - closed
                    description: |-
                      Status of a wallet.
                        - `active`: The wallet is available for use and has an enabled payment method.
                        - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
                  walletType:
                    type: string
                    enum:
                      - default
                      - general
                    description: |-
                      Type of a wallet.
                        - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                        - `general`: An additional, user-defined wallet created via API or Dashboard.
                  description:
                    type: string
                    description: Description of the wallet
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                    description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                    example:
                      optional: metadata
                  createdOn:
                    type: string
                    format: date-time
                  closedOn:
                    type: string
                    format: date-time
                description: A Moov wallet to store funds for transfers.
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  status:
                    type: string
                  description:
                    type: string
                  metadata:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                status:
                  type: string
                  enum:
                    - active
                    - closed
                  description: |-
                    Status of a wallet.
                      - `active`: The wallet is available for use and has an enabled payment method.
                      - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
                description:
                  type: string
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                  example:
                    optional: metadata
              example:
                name: My second wallet
                description: My new description
                metadata:
                  optional: metadata
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateWallet
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.wallets.update({
                walletID: "9f1c6e07-aae8-40e6-b290-502bb1bc486e",
                accountID: "e4aad2fb-201d-4390-b4d3-6de7716152e1",
                patchWallet: {
                  name: "My second wallet",
                  description: "My new description",
                  metadata: {
                    "optional": "metadata",
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateWallet
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $patchWallet = new Components\PatchWallet(
                name: 'My second wallet',
                description: 'My new description',
                metadata: [
                    'optional' => 'metadata',
                ],
            );

            $response = $sdk->wallets->update(
                walletID: '9f1c6e07-aae8-40e6-b290-502bb1bc486e',
                accountID: 'e4aad2fb-201d-4390-b4d3-6de7716152e1',
                patchWallet: $patchWallet

            );

            if ($response->wallet !== null) {
                // handle response
            }
        - lang: python
          label: updateWallet
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallets.update(wallet_id="9f1c6e07-aae8-40e6-b290-502bb1bc486e", account_id="e4aad2fb-201d-4390-b4d3-6de7716152e1", name="My second wallet", description="My new description", metadata={
                    "optional": "metadata",
                })

                # Handle response
                print(res)
        - lang: java
          label: updateWallet
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.Map;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.PatchWallet;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.PatchWalletValidationError;
            import org.openapis.openapi.models.operations.UpdateWalletResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, PatchWalletValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateWalletResponse res = sdk.wallets().update()
                            .walletID("9f1c6e07-aae8-40e6-b290-502bb1bc486e")
                            .accountID("e4aad2fb-201d-4390-b4d3-6de7716152e1")
                            .patchWallet(PatchWallet.builder()
                                .name("My second wallet")
                                .description("My new description")
                                .metadata(Map.ofEntries(
                                    Map.entry("optional", "metadata")))
                                .build())
                            .call();

                    if (res.wallet().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: updateWallet
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.wallets.update(wallet_id: '9f1c6e07-aae8-40e6-b290-502bb1bc486e', account_id: 'e4aad2fb-201d-4390-b4d3-6de7716152e1', patch_wallet: Models::Components::PatchWallet.new(
              name: 'My second wallet',
              description: 'My new description',
              metadata: {
                "optional": 'metadata',
              },
            ))

            unless res.wallet.nil?
              # handle response
            end
  /accounts/{accountID}/wallets/{walletID}/sweeps:
    get:
      operationId: listSweeps
      description: |-
        List sweeps associated with a wallet.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: walletID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: status
          in: query
          required: false
          description: Optional parameter to filter by sweep status.
          schema:
            type: string
            enum:
              - accruing
              - action-required
              - canceled
              - closed
              - failed
              - paid
          explode: false
        - name: statementDescriptor
          in: query
          required: false
          description: Optional string to filter by statement descriptor.
          schema:
            type: string
            minLength: 4
            maxLength: 10
            description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - sweepID
                    - status
                    - accruedAmount
                    - currency
                    - accrualStartedOn
                  properties:
                    sweepID:
                      type: string
                      format: uuid
                    status:
                      type: string
                      enum:
                        - accruing
                        - action-required
                        - canceled
                        - closed
                        - failed
                        - paid
                    accruedAmount:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: The total net amount of wallet transactions accrued in the sweep.
                    residualBalance:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: Amount remaining in the wallet after the sweep transfer completes.
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    accrualStartedOn:
                      type: string
                      format: date-time
                      description: The date-time the sweep began accruing transactions.
                    accrualEndedOn:
                      type: string
                      format: date-time
                      description: The date-time the sweep stopped accruing transactions.
                    pushPaymentMethodID:
                      type: string
                      format: uuid
                      description: ID of the payment method.
                    pullPaymentMethodID:
                      type: string
                      format: uuid
                      description: ID of the payment method.
                    transferID:
                      type: string
                      format: uuid
                    transferAmount:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: Amount that is transferred.
                    statementDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                    subtotals:
                      type: array
                      items:
                        type: object
                        required:
                          - type
                          - count
                          - amount
                        properties:
                          type:
                            allOf:
                              - type: string
                                enum:
                                  - account-funding
                                  - ach-reversal
                                  - auto-sweep
                                  - card-payment
                                  - card-decline
                                  - card-reversal
                                  - cash-out
                                  - dispute
                                  - dispute-reversal
                                  - facilitator-fee
                                  - issuing-refund
                                  - issuing-transaction
                                  - issuing-transaction-adjustment
                                  - issuing-auth-hold
                                  - issuing-auth-release
                                  - issuing-decline
                                  - moov-fee
                                  - payment
                                  - payout
                                  - refund
                                  - refund-failure
                                  - rtp-failure
                                  - top-up
                                  - wallet-transfer
                                  - adjustment
                                  - fee-revenue
                                  - residual
                            description: The type of wallet transaction the subtotal is for.
                          count:
                            type: integer
                            format: int64
                            description: The number of transactions of this type accrued in the sweep.
                          amount:
                            allOf:
                              - type: object
                                required:
                                  - currency
                                  - valueDecimal
                                properties:
                                  currency:
                                    type: string
                                    pattern: ^[A-Za-z]{3}$
                                    description: A 3-letter ISO 4217 currency code.
                                    example: USD
                                  valueDecimal:
                                    type: string
                                    pattern: ^\d+\.\d{1,9}$
                                    description: |-
                                      A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                      For example, $12.987654321 is '12.987654321'.
                                    example: '12.987654321'
                            description: The value of transactions of this type accrued in the sweep.
                      description: The subtotal of each transaction type contributing to the sweep's accrued amount.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listSweeps
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.list({
                accountID: "a227b50c-035d-4b7f-932c-a4b7e02aaf5c",
                walletID: "d01e5b34-b207-4a5c-b249-6e049be6a841",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listSweeps
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListSweepsRequest(
                accountID: 'a227b50c-035d-4b7f-932c-a4b7e02aaf5c',
                walletID: 'd01e5b34-b207-4a5c-b249-6e049be6a841',
                skip: 60,
                count: 20,
            );

            $response = $sdk->sweeps->list(
                request: $request
            );

            if ($response->sweeps !== null) {
                // handle response
            }
        - lang: python
          label: listSweeps
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.list(account_id="a227b50c-035d-4b7f-932c-a4b7e02aaf5c", wallet_id="d01e5b34-b207-4a5c-b249-6e049be6a841", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listSweeps
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListSweepsRequest;
            import org.openapis.openapi.models.operations.ListSweepsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListSweepsRequest req = ListSweepsRequest.builder()
                            .accountID("a227b50c-035d-4b7f-932c-a4b7e02aaf5c")
                            .walletID("d01e5b34-b207-4a5c-b249-6e049be6a841")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListSweepsResponse res = sdk.sweeps().list()
                            .request(req)
                            .call();

                    if (res.sweeps().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listSweeps
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListSweepsRequest.new(
              account_id: 'a227b50c-035d-4b7f-932c-a4b7e02aaf5c',
              wallet_id: 'd01e5b34-b207-4a5c-b249-6e049be6a841',
              skip: 60,
              count: 20,
            )

            res = s.sweeps.list(request: req)

            unless res.sweeps.nil?
              # handle response
            end
  /accounts/{accountID}/wallets/{walletID}/sweeps/{sweepID}:
    get:
      operationId: getSweep
      description: |-
        Get details on a specific sweep.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: walletID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: sweepID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - sweepID
                  - status
                  - accruedAmount
                  - currency
                  - accrualStartedOn
                properties:
                  sweepID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - accruing
                      - action-required
                      - canceled
                      - closed
                      - failed
                      - paid
                  accruedAmount:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: The total net amount of wallet transactions accrued in the sweep.
                  residualBalance:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: Amount remaining in the wallet after the sweep transfer completes.
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  accrualStartedOn:
                    type: string
                    format: date-time
                    description: The date-time the sweep began accruing transactions.
                  accrualEndedOn:
                    type: string
                    format: date-time
                    description: The date-time the sweep stopped accruing transactions.
                  pushPaymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  pullPaymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  transferID:
                    type: string
                    format: uuid
                  transferAmount:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: Amount that is transferred.
                  statementDescriptor:
                    type: string
                    minLength: 4
                    maxLength: 10
                    description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
                  subtotals:
                    type: array
                    items:
                      type: object
                      required:
                        - type
                        - count
                        - amount
                      properties:
                        type:
                          allOf:
                            - type: string
                              enum:
                                - account-funding
                                - ach-reversal
                                - auto-sweep
                                - card-payment
                                - card-decline
                                - card-reversal
                                - cash-out
                                - dispute
                                - dispute-reversal
                                - facilitator-fee
                                - issuing-refund
                                - issuing-transaction
                                - issuing-transaction-adjustment
                                - issuing-auth-hold
                                - issuing-auth-release
                                - issuing-decline
                                - moov-fee
                                - payment
                                - payout
                                - refund
                                - refund-failure
                                - rtp-failure
                                - top-up
                                - wallet-transfer
                                - adjustment
                                - fee-revenue
                                - residual
                          description: The type of wallet transaction the subtotal is for.
                        count:
                          type: integer
                          format: int64
                          description: The number of transactions of this type accrued in the sweep.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The value of transactions of this type accrued in the sweep.
                    description: The subtotal of each transaction type contributing to the sweep's accrued amount.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Sweeps
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getSweep
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.sweeps.get({
                accountID: "481bc941-34a2-4c2a-a4f8-feaa9a25d630",
                walletID: "e63a4638-ad67-44fb-9b59-ed7311023602",
                sweepID: "c88c9731-06c2-4b4a-a7d2-34c8b936d9ae",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getSweep
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->sweeps->get(
                accountID: '481bc941-34a2-4c2a-a4f8-feaa9a25d630',
                walletID: 'e63a4638-ad67-44fb-9b59-ed7311023602',
                sweepID: 'c88c9731-06c2-4b4a-a7d2-34c8b936d9ae'

            );

            if ($response->sweep !== null) {
                // handle response
            }
        - lang: python
          label: getSweep
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.sweeps.get(account_id="481bc941-34a2-4c2a-a4f8-feaa9a25d630", wallet_id="e63a4638-ad67-44fb-9b59-ed7311023602", sweep_id="c88c9731-06c2-4b4a-a7d2-34c8b936d9ae")

                # Handle response
                print(res)
        - lang: java
          label: getSweep
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetSweepResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetSweepResponse res = sdk.sweeps().get()
                            .accountID("481bc941-34a2-4c2a-a4f8-feaa9a25d630")
                            .walletID("e63a4638-ad67-44fb-9b59-ed7311023602")
                            .sweepID("c88c9731-06c2-4b4a-a7d2-34c8b936d9ae")
                            .call();

                    if (res.sweep().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getSweep
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.sweeps.get(account_id: '481bc941-34a2-4c2a-a4f8-feaa9a25d630', wallet_id: 'e63a4638-ad67-44fb-9b59-ed7311023602', sweep_id: 'c88c9731-06c2-4b4a-a7d2-34c8b936d9ae')

            unless res.sweep.nil?
              # handle response
            end
  /accounts/{accountID}/wallets/{walletID}/transactions:
    get:
      operationId: listWalletTransactions
      description: |-
        List all the transactions associated with a particular Moov wallet. 

        Read our [wallet transactions guide](https://docs.moov.io/guides/sources/wallets/transactions/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: walletID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: transactionType
          in: query
          required: false
          description: Optional parameter to filter by transaction type.
          schema:
            type: string
            enum:
              - account-funding
              - ach-reversal
              - auto-sweep
              - card-payment
              - card-decline
              - card-reversal
              - cash-out
              - dispute
              - dispute-reversal
              - facilitator-fee
              - issuing-refund
              - issuing-transaction
              - issuing-transaction-adjustment
              - issuing-auth-hold
              - issuing-auth-release
              - issuing-decline
              - moov-fee
              - payment
              - payout
              - refund
              - refund-failure
              - rtp-failure
              - top-up
              - wallet-transfer
              - adjustment
              - fee-revenue
              - residual
          explode: false
        - name: transactionTypes
          in: query
          required: false
          description: Optional, comma-separated parameter to filter by transaction types.
          schema:
            type: array
            items:
              type: string
              enum:
                - account-funding
                - ach-reversal
                - auto-sweep
                - card-payment
                - card-decline
                - card-reversal
                - cash-out
                - dispute
                - dispute-reversal
                - facilitator-fee
                - issuing-refund
                - issuing-transaction
                - issuing-transaction-adjustment
                - issuing-auth-hold
                - issuing-auth-release
                - issuing-decline
                - moov-fee
                - payment
                - payout
                - refund
                - refund-failure
                - rtp-failure
                - top-up
                - wallet-transfer
                - adjustment
                - fee-revenue
                - residual
          explode: false
        - name: sourceType
          in: query
          required: false
          description: Optional parameter to filter by source type (i.e. transfer, dispute, issuing-transaction).
          schema:
            type: string
            enum:
              - transfer
              - dispute
              - issuing-card-transaction
              - issuing-authorization
              - sweep
              - adjustment
              - fee
              - residual
          explode: false
        - name: sourceID
          in: query
          required: false
          description: Optional parameter to filter by source ID.
          schema:
            type: string
            format: uuid
          explode: false
        - name: status
          in: query
          required: false
          description: Optional parameter to filter by status (`pending` or `completed`).
          schema:
            type: string
            enum:
              - pending
              - completed
              - canceled
              - failed
          explode: false
        - name: createdStartDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all transactions created after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: createdEndDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all transactions created before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: completedStartDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all transactions completed after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: completedEndDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all transactions completed before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: sweepID
          in: query
          required: false
          description: Optional ID to filter for transactions accrued in a sweep.
          schema:
            type: string
            format: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - walletID
                    - transactionID
                    - transactionType
                    - sourceType
                    - sourceID
                    - status
                    - memo
                    - createdOn
                    - currency
                    - grossAmount
                    - grossAmountDecimal
                    - fee
                    - feeDecimal
                    - netAmount
                    - netAmountDecimal
                  properties:
                    walletID:
                      type: string
                      format: uuid
                    transactionID:
                      type: string
                      format: uuid
                    transactionType:
                      type: string
                      enum:
                        - account-funding
                        - ach-reversal
                        - auto-sweep
                        - card-payment
                        - card-decline
                        - card-reversal
                        - cash-out
                        - dispute
                        - dispute-reversal
                        - facilitator-fee
                        - issuing-refund
                        - issuing-transaction
                        - issuing-transaction-adjustment
                        - issuing-auth-hold
                        - issuing-auth-release
                        - issuing-decline
                        - moov-fee
                        - payment
                        - payout
                        - refund
                        - refund-failure
                        - rtp-failure
                        - top-up
                        - wallet-transfer
                        - adjustment
                        - fee-revenue
                        - residual
                    sourceType:
                      type: string
                      enum:
                        - transfer
                        - dispute
                        - issuing-card-transaction
                        - issuing-authorization
                        - sweep
                        - adjustment
                        - fee
                        - residual
                    sourceID:
                      type: string
                      format: uuid
                      description: The ID of the Moov object to which this transaction is related.
                    status:
                      type: string
                      enum:
                        - pending
                        - completed
                        - canceled
                        - failed
                    memo:
                      type: string
                      description: Detailed description of the transaction.
                    createdOn:
                      type: string
                      format: date-time
                    completedOn:
                      type: string
                      format: date-time
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    grossAmount:
                      type: integer
                      format: int64
                      description: The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    grossAmountDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: The total transaction amount. Same as `grossAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                    fee:
                      type: integer
                      format: int64
                      description: Total fees paid for the transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    feeIDs:
                      type: array
                      items:
                        type: string
                      description: The IDs of the fees paid for the transaction.
                    feeDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: Total fees paid for the transaction. Same as `fee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                    netAmount:
                      type: integer
                      format: int64
                      description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    netAmountDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. Same as `netAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                    availableBalance:
                      type: integer
                      format: int64
                      description: The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    availableBalanceDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: The wallet's total available balance after recording a completed transaction. Same as `availableBalance`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                    sweepID:
                      type: string
                      format: uuid
                  description: A transaction that funds or deducts from the wallet.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  transactionType:
                    type: string
                  transactionTypes:
                    type: string
                  sourceType:
                    type: string
                  sourceID:
                    type: string
                  status:
                    type: string
                  sweepID:
                    type: string
                  createdStartDateTime:
                    type: string
                  createdEndDateTime:
                    type: string
                  completedStartDateTime:
                    type: string
                  completedEndDateTime:
                    type: string
                  statementDescriptor:
                    type: string
                  skip:
                    type: string
                  count:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallet transactions
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listWalletTransactions
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.walletTransactions.list({
                accountID: "69e4529b-baf0-4f00-877b-123cfd9d6116",
                skip: 60,
                count: 20,
                walletID: "4f971587-62fe-42c9-bc61-7409d9c8660c",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listWalletTransactions
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListWalletTransactionsRequest(
                accountID: '69e4529b-baf0-4f00-877b-123cfd9d6116',
                skip: 60,
                count: 20,
                walletID: '4f971587-62fe-42c9-bc61-7409d9c8660c',
            );

            $response = $sdk->walletTransactions->list(
                request: $request
            );

            if ($response->walletTransactions !== null) {
                // handle response
            }
        - lang: python
          label: listWalletTransactions
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallet_transactions.list(account_id="69e4529b-baf0-4f00-877b-123cfd9d6116", wallet_id="4f971587-62fe-42c9-bc61-7409d9c8660c", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listWalletTransactions
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.ListWalletTransactionsValidationError;
            import org.openapis.openapi.models.operations.ListWalletTransactionsRequest;
            import org.openapis.openapi.models.operations.ListWalletTransactionsResponse;

            public class Application {

                public static void main(String[] args) throws ListWalletTransactionsValidationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListWalletTransactionsRequest req = ListWalletTransactionsRequest.builder()
                            .accountID("69e4529b-baf0-4f00-877b-123cfd9d6116")
                            .walletID("4f971587-62fe-42c9-bc61-7409d9c8660c")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListWalletTransactionsResponse res = sdk.walletTransactions().list()
                            .request(req)
                            .call();

                    if (res.walletTransactions().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listWalletTransactions
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListWalletTransactionsRequest.new(
              account_id: '69e4529b-baf0-4f00-877b-123cfd9d6116',
              skip: 60,
              count: 20,
              wallet_id: '4f971587-62fe-42c9-bc61-7409d9c8660c',
            )

            res = s.wallet_transactions.list(request: req)

            unless res.wallet_transactions.nil?
              # handle response
            end
  /accounts/{accountID}/wallets/{walletID}/transactions/{transactionID}:
    get:
      operationId: getWalletTransaction
      description: |-
        Get details on a specific wallet transaction. 

        Read our [wallet transactions guide](https://docs.moov.io/guides/sources/wallets/transactions/) to learn more.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/wallets.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: walletID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: transactionID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - walletID
                  - transactionID
                  - transactionType
                  - sourceType
                  - sourceID
                  - status
                  - memo
                  - createdOn
                  - currency
                  - grossAmount
                  - grossAmountDecimal
                  - fee
                  - feeDecimal
                  - netAmount
                  - netAmountDecimal
                properties:
                  walletID:
                    type: string
                    format: uuid
                  transactionID:
                    type: string
                    format: uuid
                  transactionType:
                    type: string
                    enum:
                      - account-funding
                      - ach-reversal
                      - auto-sweep
                      - card-payment
                      - card-decline
                      - card-reversal
                      - cash-out
                      - dispute
                      - dispute-reversal
                      - facilitator-fee
                      - issuing-refund
                      - issuing-transaction
                      - issuing-transaction-adjustment
                      - issuing-auth-hold
                      - issuing-auth-release
                      - issuing-decline
                      - moov-fee
                      - payment
                      - payout
                      - refund
                      - refund-failure
                      - rtp-failure
                      - top-up
                      - wallet-transfer
                      - adjustment
                      - fee-revenue
                      - residual
                  sourceType:
                    type: string
                    enum:
                      - transfer
                      - dispute
                      - issuing-card-transaction
                      - issuing-authorization
                      - sweep
                      - adjustment
                      - fee
                      - residual
                  sourceID:
                    type: string
                    format: uuid
                    description: The ID of the Moov object to which this transaction is related.
                  status:
                    type: string
                    enum:
                      - pending
                      - completed
                      - canceled
                      - failed
                  memo:
                    type: string
                    description: Detailed description of the transaction.
                  createdOn:
                    type: string
                    format: date-time
                  completedOn:
                    type: string
                    format: date-time
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  grossAmount:
                    type: integer
                    format: int64
                    description: The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  grossAmountDecimal:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: The total transaction amount. Same as `grossAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                  fee:
                    type: integer
                    format: int64
                    description: Total fees paid for the transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  feeIDs:
                    type: array
                    items:
                      type: string
                    description: The IDs of the fees paid for the transaction.
                  feeDecimal:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: Total fees paid for the transaction. Same as `fee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                  netAmount:
                    type: integer
                    format: int64
                    description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  netAmountDecimal:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. Same as `netAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                  availableBalance:
                    type: integer
                    format: int64
                    description: The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  availableBalanceDecimal:
                    type: string
                    pattern: ^\d+\.\d{1,9}$
                    description: The wallet's total available balance after recording a completed transaction. Same as `availableBalance`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
                  sweepID:
                    type: string
                    format: uuid
                description: A transaction that funds or deducts from the wallet.
              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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Wallet transactions
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getWalletTransaction
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.walletTransactions.get({
                accountID: "f0b02d73-10dc-42e6-8030-fd78fcbc114f",
                walletID: "03db97f6-c308-4595-8f43-fd247f1bd3f2",
                transactionID: "e0a32cf5-5758-49ba-83da-75bf02c9c6d7",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getWalletTransaction
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->walletTransactions->get(
                accountID: 'f0b02d73-10dc-42e6-8030-fd78fcbc114f',
                walletID: '03db97f6-c308-4595-8f43-fd247f1bd3f2',
                transactionID: 'e0a32cf5-5758-49ba-83da-75bf02c9c6d7'

            );

            if ($response->walletTransaction !== null) {
                // handle response
            }
        - lang: python
          label: getWalletTransaction
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.wallet_transactions.get(account_id="f0b02d73-10dc-42e6-8030-fd78fcbc114f", wallet_id="03db97f6-c308-4595-8f43-fd247f1bd3f2", transaction_id="e0a32cf5-5758-49ba-83da-75bf02c9c6d7")

                # Handle response
                print(res)
        - lang: java
          label: getWalletTransaction
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetWalletTransactionResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetWalletTransactionResponse res = sdk.walletTransactions().get()
                            .accountID("f0b02d73-10dc-42e6-8030-fd78fcbc114f")
                            .walletID("03db97f6-c308-4595-8f43-fd247f1bd3f2")
                            .transactionID("e0a32cf5-5758-49ba-83da-75bf02c9c6d7")
                            .call();

                    if (res.walletTransaction().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getWalletTransaction
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.wallet_transactions.get(account_id: 'f0b02d73-10dc-42e6-8030-fd78fcbc114f', wallet_id: '03db97f6-c308-4595-8f43-fd247f1bd3f2', transaction_id: 'e0a32cf5-5758-49ba-83da-75bf02c9c6d7')

            unless res.wallet_transaction.nil?
              # handle response
            end
  /avatars/{uniqueID}:
    get:
      operationId: getAvatar
      description: |-
        Get avatar image for an account using a unique ID.    

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/profile-enrichment.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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
                format: uuid
          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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Avatars
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getAvatar
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.avatars.get({
                uniqueID: "<id>",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getAvatar
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->avatars->get(
                uniqueID: '<id>'
            );

            if ($response->bytes !== null) {
                // handle response
            }
        - lang: python
          label: getAvatar
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.avatars.get(unique_id="<id>")

                # Handle response
                print(res)
        - lang: java
          label: getAvatar
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetAvatarResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetAvatarResponse res = sdk.avatars().get()
                            .uniqueID("<id>")
                            .call();

                    if (res.responseStream().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getAvatar
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.avatars.get(unique_id: '<id>')

            unless res.bytes.nil?
              # handle response
            end
  /debug/end-to-end-token:
    post:
      operationId: testEndToEndToken
      description: |-
        Allows for testing a JWE token to ensure it's acceptable by Moov. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/ping.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - End to End Encryption
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - token
              properties:
                token:
                  type: string
                  format: jwe
                  description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
              description: |-
                Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
                This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
                [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
              example:
                token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
      x-speakeasy-name-override: testEncryptedToken
      x-codeSamples:
        - lang: typescript
          label: testEndToEndToken
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.endToEndEncryption.testEncryptedToken({
                token: "eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: testEndToEndToken
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $e2EEToken = new Components\E2EEToken(
                token: 'eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA',
            );

            $response = $sdk->endToEndEncryption->testEncryptedToken(
                e2EEToken: $e2EEToken
            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: testEndToEndToken
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.end_to_end_encryption.test_encrypted_token(token="eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA")

                # Handle response
                print(res)
        - lang: java
          label: testEndToEndToken
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.TestEndToEndTokenResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    TestEndToEndTokenResponse res = sdk.endToEndEncryption().testEncryptedToken()
                            .token("<value>")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: testEndToEndToken
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.end_to_end_encryption.test_encrypted_token(e2_ee_token: Models::Components::E2EEToken.new(
              token: 'eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA',
            ))

            if res.status_code == 200
              # handle response
            end
  /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:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - kty
                properties:
                  kty:
                    type: string
                    description: The cryptographic algorithm family used with the key (e.g., 'RSA', 'EC', 'oct').
                  use:
                    type: string
                    enum:
                      - sig
                      - enc
                    description: The intended use of the key. 'sig' for signature, 'enc' for encryption.
                  key_ops:
                    type: array
                    items:
                      type: string
                    description: The permitted operations for the key, e.g., 'sign', 'verify', 'encrypt', 'decrypt'.
                  alg:
                    type: string
                    description: The algorithm intended for use with the key, e.g., 'RS256' or 'ES256'.
                  kid:
                    type: string
                    description: A unique identifier for the key.
                  crv:
                    type: string
                    description: |-
                      The curve for Elliptic Curve keys, e.g., 'P-256', 'P-384', or 'P-521'.

                      This field is required when `kty` is 'EC'.
                  x:
                    type: string
                    description: |-
                      The x coordinate for Elliptic Curve keys.

                      This field is required when `kty` is 'EC'.
                  'y':
                    type: string
                    description: |-
                      The y coordinate for Elliptic Curve keys.

                      This field is required when `kty` is 'EC'.
                  'n':
                    type: string
                    description: |-
                      The modulus value for RSA keys.

                      This field is required when `kty` is 'RSA'.
                  e:
                    type: string
                    description: |-
                      The exponent value for RSA keys.

                      This field is required when `kty` is 'RSA'.
                description: Describes an [RFC7517](https://datatracker.ietf.org/doc/html/rfc7517) web key.
                example:
                  use: enc
                  kty: EC
                  kid: bOaoOIgm-7dI_gBIvsr0jQrPyYp6H_od0Ok-hSYZQ-g=
                  crv: P-521
                  alg: ECDH-ES+A256KW
                  x: ABcm3wzKpPzYYwjDC0HSrxxVM3ULbuMDUuzkR5wNciaMHkZvQ02gLFdqTL65evV7EWaQyC7zRc28eW20p5MVDdQr
                  'y': AVa-eQsoiltOcQYy1QEcrQ9NbWktl_D4ewfg8diOZ2_svLEgEu4T1PqNcLbBGozP_VqPkXOMwNCUNI7pxajVGiIP
        '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
                format: uuid
      tags:
        - End to End Encryption
      x-speakeasy-name-override: generateKey
      x-codeSamples:
        - lang: typescript
          label: generateEndToEndKey
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.endToEndEncryption.generateKey();

              console.log(result);
            }

            run();
        - lang: php
          label: generateEndToEndKey
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->endToEndEncryption->generateKey(

            );

            if ($response->jsonWebKey !== null) {
                // handle response
            }
        - lang: python
          label: generateEndToEndKey
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.end_to_end_encryption.generate_key()

                # Handle response
                print(res)
        - lang: java
          label: generateEndToEndKey
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GenerateEndToEndKeyResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GenerateEndToEndKeyResponse res = sdk.endToEndEncryption().generateKey()
                            .call();

                    if (res.jsonWebKey().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: generateEndToEndKey
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.end_to_end_encryption.generate_key()

            unless res.json_web_key.nil?
              # handle response
            end
  /enrichment/address:
    get:
      operationId: getEnrichmentAddress
      description: |-
        Fetch enriched address suggestions. Requires a partial address. 
          
        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/profile-enrichment.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: search
          in: query
          required: true
          description: Partial or complete address to search.
          schema:
            type: string
          explode: false
        - name: maxResults
          in: query
          required: false
          description: Maximum number of results to return.
          schema:
            type: integer
          explode: false
        - name: includeCities
          in: query
          required: false
          description: Limits results to a list of given cities.
          schema:
            type: string
          explode: false
        - name: includeStates
          in: query
          required: false
          description: Limits results to a list of given states.
          schema:
            type: string
          explode: false
        - name: includeZipcodes
          in: query
          required: false
          description: Limits results to a list of given zipcodes.
          schema:
            type: string
          explode: false
        - name: excludeStates
          in: query
          required: false
          description: Exclude list of states from results. No `include` pararmeters may be used with this parameter.
          schema:
            type: string
          explode: false
        - name: preferCities
          in: query
          required: false
          description: Display results with the listed cities at the top.
          schema:
            type: string
          explode: false
        - name: preferStates
          in: query
          required: false
          description: Display results with the listed states at the top.
          schema:
            type: string
          explode: false
        - name: preferZipcodes
          in: query
          required: false
          description: Display results with the listed zipcodes at the top.
          schema:
            type: string
          explode: false
        - name: preferRatio
          in: query
          required: false
          description: Specifies the percentage of address suggestions that should be preferred and will appear at the top of the results.
          schema:
            type: integer
          explode: false
        - name: preferGeolocation
          in: query
          required: false
          description: |2-
              If omitted or set to `city`, it uses the sender's IP address to determine location, then automatically adds the city and state 
              to the preferCities value. This parameter takes precedence over other `include` or `exclude` parameters meaning that if it is 
              not set to `none`, you may see addresses from areas you do not wish to see.
          schema:
            type: string
          explode: false
        - name: selected
          in: query
          required: false
          description: Useful for narrowing results with `addressLine2` suggestions such as `Apt` (denotes an apartment building with multiple residences).
          schema:
            type: string
          explode: false
        - name: source
          in: query
          required: false
          description: Include results from alternate data sources. Allowed values are `all` (non-postal addresses), or `postal` (postal addresses only).
          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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - suggestions
                properties:
                  suggestions:
                    type: array
                    items:
                      type: object
                      properties:
                        addressLine1:
                          type: string
                        addressLine2:
                          type: string
                        city:
                          type: string
                        entries:
                          type: integer
                          description: The number of units at an address. For example the number of apartments or businesses in a building.
                        postalCode:
                          type: string
                        stateOrProvince:
                          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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Enriched address
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getEnrichmentAddress
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.enrichedAddress.get({
                search: "<value>",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getEnrichmentAddress
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\GetEnrichmentAddressRequest(
                search: '<value>',
            );

            $response = $sdk->enrichedAddress->get(
                request: $request
            );

            if ($response->enrichedAddressResponse !== null) {
                // handle response
            }
        - lang: python
          label: getEnrichmentAddress
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.enriched_address.get(search="<value>")

                # Handle response
                print(res)
        - lang: java
          label: getEnrichmentAddress
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetEnrichmentAddressRequest;
            import org.openapis.openapi.models.operations.GetEnrichmentAddressResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetEnrichmentAddressRequest req = GetEnrichmentAddressRequest.builder()
                            .search("<value>")
                            .build();

                    GetEnrichmentAddressResponse res = sdk.enrichedAddress().get()
                            .request(req)
                            .call();

                    if (res.enrichedAddressResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getEnrichmentAddress
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::GetEnrichmentAddressRequest.new(
              search: '<value>',
            )

            res = s.enriched_address.get(request: req)

            unless res.enriched_address_response.nil?
              # handle response
            end
  /enrichment/profile:
    get:
      operationId: getEnrichmentProfile
      description: |-
        Fetch enriched profile data. Requires a valid email address. This service is offered in collaboration with Clearbit. 

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/profile-enrichment.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  business:
                    type: object
                    properties:
                      address:
                        type: object
                        required:
                          - addressLine1
                          - city
                          - stateOrProvince
                          - postalCode
                          - country
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: 123 Main Street
                          addressLine2:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Apt 302
                          city:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Boulder
                          stateOrProvince:
                            type: string
                            maxLength: 2
                            example: CO
                          postalCode:
                            type: string
                            maxLength: 5
                            example: '80301'
                          country:
                            type: string
                            maxLength: 2
                            example: US
                      email:
                        type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                      industryCodes:
                        type: object
                        properties:
                          naics:
                            type: string
                            minLength: 2
                            maxLength: 6
                            example: '713940'
                          sic:
                            type: string
                            minLength: 4
                            maxLength: 4
                            example: '7991'
                      legalBusinessName:
                        type: string
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                            maxLength: 10
                            example: '8185551212'
                          countryCode:
                            type: string
                            maxLength: 1
                            example: '1'
                      website:
                        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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Enriched profile
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getEnrichmentProfile
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.enrichedProfile.get({
                email: "Thaddeus.Welch@gmail.com",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getEnrichmentProfile
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->enrichedProfile->get(
                email: 'Thaddeus.Welch@gmail.com'
            );

            if ($response->enrichedBusinessResponse !== null) {
                // handle response
            }
        - lang: python
          label: getEnrichmentProfile
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.enriched_profile.get(email="Thaddeus.Welch@gmail.com")

                # Handle response
                print(res)
        - lang: java
          label: getEnrichmentProfile
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetEnrichmentProfileResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetEnrichmentProfileResponse res = sdk.enrichedProfile().get()
                            .email("Thaddeus.Welch@gmail.com")
                            .call();

                    if (res.enrichedBusinessResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getEnrichmentProfile
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.enriched_profile.get(email: 'Thaddeus.Welch@gmail.com')

            unless res.enriched_business_response.nil?
              # handle response
            end
  /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:
            type: string
            pattern: '[A-Za-z0-9_-]{21}'
            description: A unique identifier for an image, used in public image links.
        - name: size
          in: query
          required: false
          description: |-
            Optional parameter to request a resized version of the image (WxH).

            If either dimension is 0, the image will be scaled proportionally based on
            the non-zero dimension. Dimensions are capped at 2048 pixels. A default size
            of 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
                format: uuid
            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Images
      security:
        - {}
      x-speakeasy-name-override: getPublic
      x-codeSamples:
        - lang: typescript
          label: getPublicImage
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK();

            async function run() {
              const result = await sdk.images.getPublic({
                publicID: "<id>",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getPublicImage
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()->build();



            $response = $sdk->images->getPublic(
                publicID: '<id>',
                size: '400x400'

            );

            if ($response->twoHundredImageWebpBytes !== null) {
                // handle response
            }
        - lang: python
          label: getPublicImage
          source: |-
            from openapi import SDK


            with SDK() as sdk:

                res = sdk.images.get_public(public_id="<id>", size="400x400")

                assert res is not None

                # Handle response
                print(res)
        - lang: java
          label: getPublicImage
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetPublicImageResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                        .build();

                    GetPublicImageResponse res = sdk.images().getPublic()
                            .publicID("<id>")
                            .size("400x400")
                            .call();

                    if (res.twoHundredImageWebpResponseStream().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getPublicImage
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new

            res = s.images.get_public(public_id: '<id>', size: '400x400')

            unless res.two_hundred_image_webp_bytes.nil?
              # handle response
            end
  /industries:
    get:
      operationId: listIndustries
      description: |-
        Returns a list of industries relevant to merchant profile enrichment.  Results are ordered by industry name.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/),
        you'll need to specify the `/profile-enrichment.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - industries
                properties:
                  industries:
                    type: array
                    items:
                      type: object
                      required:
                        - industry
                        - displayName
                        - category
                        - categoryDisplayName
                        - defaultMcc
                      properties:
                        industry:
                          type: string
                          description: URL-safe identifier for the industry
                          example: clothing-accessories
                        displayName:
                          type: string
                          description: Display name of the industry
                          example: Clothing & Accessories
                        category:
                          type: string
                          description: Category slug
                          example: retail
                        categoryDisplayName:
                          type: string
                          description: Human-readable category label
                          example: Retail
                        defaultMcc:
                          type: string
                          maxLength: 4
                          description: Default Merchant Category Code
                          example: '5651'
                      description: A structured industry taxonomy entry with category and mapped to a default MCC code.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Industries
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listIndustries
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.industries.list();

              console.log(result);
            }

            run();
        - lang: php
          label: listIndustries
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->industries->list(

            );

            if ($response->enrichedIndustries !== null) {
                // handle response
            }
        - lang: python
          label: listIndustries
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.industries.list()

                # Handle response
                print(res)
        - lang: java
          label: listIndustries
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListIndustriesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListIndustriesResponse res = sdk.industries().list()
                            .call();

                    if (res.enrichedIndustries().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listIndustries
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.industries.list()

            unless res.enriched_industries.nil?
              # handle response
            end
  /institutions:
    get:
      operationId: searchInstitutions
      description: |-
        Search for financial institutions by name or routing number.

        This 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).

        This 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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
        you'll need to specify the `/institutions.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: name
          in: query
          required: false
          description: Name of the financial institution. Either `name` or `routingNumber` is required.
          schema:
            type: string
          explode: false
        - name: routingNumber
          in: query
          required: false
          description: Routing number for a financial institution. Either `routingNumber` or `name` is required.
          schema:
            type: string
          explode: false
        - name: limit
          in: query
          required: false
          description: Maximum results returned by a search.
          schema:
            type: integer
          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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - ach
                  - rtp
                  - wire
                  - fednow
                properties:
                  ach:
                    type: array
                    items:
                      type: object
                      required:
                        - name
                        - routingNumber
                      properties:
                        name:
                          type: string
                          description: Name of the financial institution.
                          example: First Citizens
                        routingNumber:
                          type: string
                          maxLength: 9
                          example: '123456789'
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        contact:
                          type: object
                          properties:
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                    nullable: true
                  rtp:
                    type: array
                    items:
                      type: object
                      required:
                        - name
                        - routingNumber
                        - services
                      properties:
                        name:
                          type: string
                          description: Name of the financial institution.
                          example: First Citizens
                        routingNumber:
                          type: string
                          maxLength: 9
                          example: '123456789'
                        services:
                          type: object
                          required:
                            - receivePayments
                            - receiveRequestForPayment
                          properties:
                            receivePayments:
                              type: boolean
                              description: Can the institution receive payments
                              example: true
                            receiveRequestForPayment:
                              type: boolean
                              description: Can the institution receive request for payment messages
                              example: true
                    nullable: true
                  wire:
                    type: array
                    items:
                      type: object
                      required:
                        - name
                        - routingNumber
                        - services
                      properties:
                        name:
                          type: string
                          description: Name of the financial institution.
                          example: First Citizens
                        routingNumber:
                          type: string
                          maxLength: 9
                          example: '123456789'
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        services:
                          type: object
                          required:
                            - fundsTransferStatus
                            - fundsSettlementOnlyStatus
                            - bookEntrySecuritiesTransferStatus
                          properties:
                            fundsTransferStatus:
                              type: boolean
                              description: The institution's capability to process standard Fedwire funds transfers.
                              example: true
                            fundsSettlementOnlyStatus:
                              type: boolean
                              description: The institution's capability for settlement-only transfers.
                              example: false
                            bookEntrySecuritiesTransferStatus:
                              type: boolean
                              description: The institution's capability to handle transfers of securities.
                              example: false
                    nullable: true
                  fednow:
                    type: array
                    items:
                      type: object
                      required:
                        - name
                        - routingNumber
                        - services
                      properties:
                        name:
                          type: string
                          description: Name of the financial institution.
                          example: First Citizens
                        routingNumber:
                          type: string
                          maxLength: 9
                          example: '123456789'
                        services:
                          type: object
                          required:
                            - receivePayments
                            - sendPayments
                            - requestForPayment
                          properties:
                            receivePayments:
                              type: boolean
                              description: Indicates if the institution can receive instant payments.
                              example: true
                            sendPayments:
                              type: boolean
                              description: Indicates if the institution can send instant payments.
                              example: true
                            requestForPayment:
                              type: boolean
                              description: Indicates if the institution can process request for payment messages.
                              example: true
                    nullable: true
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Institutions
      x-codeSamples:
        - lang: typescript
          label: searchInstitutions
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.institutions.searchInstitutions();

              console.log(result);
            }

            run();
        - lang: php
          label: searchInstitutions
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->institutions->searchInstitutions(

            );

            if ($response->institutionsSearchResponse !== null) {
                // handle response
            }
        - lang: python
          label: searchInstitutions
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.institutions.search_institutions()

                # Handle response
                print(res)
        - lang: java
          label: searchInstitutions
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.SearchInstitutionsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    SearchInstitutionsResponse res = sdk.institutions().searchInstitutions()
                            .call();

                    if (res.institutionsSearchResponse().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: searchInstitutions
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.institutions.search_institutions()

            unless res.institutions_search_response.nil?
              # handle response
            end
  /institutions/ach/search:
    get:
      operationId: listInstitutions
      description: |-
        Search for institutions by either their name or routing number.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/fed.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: name
          in: query
          required: false
          description: Name of the financial institution. Either `name` or `routingNumber` is required.
          schema:
            type: string
          explode: false
        - name: routingNumber
          in: query
          required: false
          description: Routing number for a financial institution. Either `routingNumber` or `name` is required.
          schema:
            type: string
          explode: false
        - name: state
          in: query
          required: false
          description: The state where a financial institution is based.
          schema:
            type: string
          explode: false
        - name: limit
          in: query
          required: false
          description: Maximum results returned by a search.
          schema:
            type: integer
          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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - achParticipants
                properties:
                  achParticipants:
                    type: array
                    items:
                      type: object
                      required:
                        - achLocation
                        - customerName
                        - newRoutingNumber
                        - officeCode
                        - phoneNumber
                        - recordTypeCode
                        - revised
                        - routingNumber
                        - servicingFRBNumber
                        - statusCode
                        - viewCode
                        - cleanName
                        - logo
                      properties:
                        achLocation:
                          type: object
                          required:
                            - address
                            - city
                            - postalCode
                            - postalCodeExtension
                            - state
                          properties:
                            address:
                              type: string
                              maxLength: 32
                              example: 123 Main Street
                            city:
                              type: string
                              maxLength: 24
                              example: Boulder
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            postalCodeExtension:
                              type: string
                              maxLength: 4
                              example: '0000'
                            state:
                              type: string
                              maxLength: 24
                              example: Colorado
                        customerName:
                          type: string
                          example: Main Street Bank
                        newRoutingNumber:
                          type: string
                          maxLength: 9
                          example: '987654321'
                        officeCode:
                          type: string
                          example: '0'
                        phoneNumber:
                          type: string
                          example: '1234567789'
                        recordTypeCode:
                          type: string
                          example: '1'
                        revised:
                          type: string
                          example: '041921'
                        routingNumber:
                          type: string
                          maxLength: 9
                          example: '123456789'
                        servicingFRBNumber:
                          type: string
                          example: '123456789'
                        statusCode:
                          type: string
                          example: '1'
                        viewCode:
                          type: string
                          example: '1'
                        cleanName:
                          type: string
                          example: Main Street Bank
                        logo:
                          type: object
                          allOf:
                            - type: object
                              required:
                                - name
                                - url
                              properties:
                                name:
                                  type: string
                                url:
                                  type: string
                          nullable: true
                          example:
                            name: Main Street Bank
                            url: https://www.mainstreetbank.com/logo.png
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Institutions
      x-speakeasy-name-override: search
      x-codeSamples:
        - lang: typescript
          label: listInstitutions
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.institutions.search();

              console.log(result);
            }

            run();
        - lang: php
          label: listInstitutions
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListInstitutionsRequest();

            $response = $sdk->institutions->search(
                request: $request
            );

            if ($response->financialInstitutions !== null) {
                // handle response
            }
        - lang: python
          label: listInstitutions
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.institutions.search()

                # Handle response
                print(res)
        - lang: java
          label: listInstitutions
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.ListInstitutionsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListInstitutionsResponse res = sdk.institutions().search()
                            .call();

                    if (res.financialInstitutions().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listInstitutions
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListInstitutionsRequest.new()

            res = s.institutions.search(request: req)

            unless res.financial_institutions.nil?
              # handle response
            end
  /issuing/{accountID}/authorizations:
    get:
      operationId: listIssuedCardAuthorizations
      description: |-
        List issued card authorizations associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which cards have been issued.
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: issuedCardID
          in: query
          required: false
          description: Optional ID of the issued card to filter results.
          schema:
            type: string
            format: uuid
          explode: false
        - name: startDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all authorizations created after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: endDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all authorizations created before this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: statuses
          in: query
          required: false
          description: Optional, comma-separated statuses of the authorization to filter results.
          schema:
            type: array
            items:
              type: string
              enum:
                - pending
                - declined
                - canceled
                - cleared
                - expired
              description: Status of a card issuing authorization.
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - authorizationID
                    - issuedCardID
                    - fundingWalletID
                    - network
                    - authorizedAmount
                    - status
                    - merchantData
                    - createdOn
                  properties:
                    authorizationID:
                      type: string
                      format: uuid
                    issuedCardID:
                      type: string
                      format: uuid
                    fundingWalletID:
                      type: string
                      format: uuid
                    network:
                      type: string
                      enum:
                        - discover
                        - shazam
                        - visa
                      description: The name of the network a card transaction is routed through.
                    authorizedAmount:
                      type: string
                      format: ^\d+\.\d{1,2}$
                      description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
                      example: '-14.89'
                    status:
                      type: string
                      enum:
                        - pending
                        - declined
                        - canceled
                        - cleared
                        - expired
                      description: Status of a card issuing authorization.
                    merchantData:
                      type: object
                      properties:
                        networkID:
                          type: string
                          description: External identifier used to identify the merchant with the card brand.
                        name:
                          type: string
                          description: Name of the merchant.
                          example: Whole Body Fitness
                        city:
                          type: string
                          description: The merchant's location.
                          example: San Francisco
                        country:
                          type: string
                          description: Two-letter country code.
                          example: US
                        postalCode:
                          type: string
                          description: The merchant's five-digit postal code.
                          example: '94107'
                        state:
                          type: string
                          description: The merchant's two-letter state abbreviation.
                          example: CA
                        mcc:
                          type: string
                          description: The Merchant Category Code.
                          example: '7298'
                    createdOn:
                      type: string
                      format: date-time
                    cardTransactions:
                      type: array
                      items:
                        type: string
                      description: List of card transaction IDs associated with this authorization.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Issuing transactions
      x-speakeasy-name-override: listAuthorizations
      x-codeSamples:
        - lang: typescript
          label: listIssuedCardAuthorizations
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.issuingTransactions.listAuthorizations({
                accountID: "6465d95a-e945-4a49-8983-d74faa135bb4",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listIssuedCardAuthorizations
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListIssuedCardAuthorizationsRequest(
                accountID: '6465d95a-e945-4a49-8983-d74faa135bb4',
                skip: 60,
                count: 20,
            );

            $response = $sdk->issuingTransactions->listAuthorizations(
                request: $request
            );

            if ($response->issuedCardAuthorizations !== null) {
                // handle response
            }
        - lang: python
          label: listIssuedCardAuthorizations
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.issuing_transactions.list_authorizations(account_id="6465d95a-e945-4a49-8983-d74faa135bb4", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listIssuedCardAuthorizations
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListIssuedCardAuthorizationsRequest;
            import org.openapis.openapi.models.operations.ListIssuedCardAuthorizationsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListIssuedCardAuthorizationsRequest req = ListIssuedCardAuthorizationsRequest.builder()
                            .accountID("6465d95a-e945-4a49-8983-d74faa135bb4")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListIssuedCardAuthorizationsResponse res = sdk.issuingTransactions().listAuthorizations()
                            .request(req)
                            .call();

                    if (res.issuedCardAuthorizations().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listIssuedCardAuthorizations
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListIssuedCardAuthorizationsRequest.new(
              account_id: '6465d95a-e945-4a49-8983-d74faa135bb4',
              skip: 60,
              count: 20,
            )

            res = s.issuing_transactions.list_authorizations(request: req)

            unless res.issued_card_authorizations.nil?
              # handle response
            end
  /issuing/{accountID}/authorizations/{authorizationID}:
    get:
      operationId: getIssuedCardAuthorization
      description: |-
        Retrieves details of an authorization associated with a specific Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which cards have been issued.
          schema:
            type: string
            format: uuid
        - name: authorizationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - authorizationID
                  - issuedCardID
                  - fundingWalletID
                  - network
                  - authorizedAmount
                  - status
                  - merchantData
                  - createdOn
                properties:
                  authorizationID:
                    type: string
                    format: uuid
                  issuedCardID:
                    type: string
                    format: uuid
                  fundingWalletID:
                    type: string
                    format: uuid
                  network:
                    type: string
                    enum:
                      - discover
                      - shazam
                      - visa
                    description: The name of the network a card transaction is routed through.
                  authorizedAmount:
                    type: string
                    format: ^\d+\.\d{1,2}$
                    description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
                    example: '-14.89'
                  status:
                    type: string
                    enum:
                      - pending
                      - declined
                      - canceled
                      - cleared
                      - expired
                    description: Status of a card issuing authorization.
                  merchantData:
                    type: object
                    properties:
                      networkID:
                        type: string
                        description: External identifier used to identify the merchant with the card brand.
                      name:
                        type: string
                        description: Name of the merchant.
                        example: Whole Body Fitness
                      city:
                        type: string
                        description: The merchant's location.
                        example: San Francisco
                      country:
                        type: string
                        description: Two-letter country code.
                        example: US
                      postalCode:
                        type: string
                        description: The merchant's five-digit postal code.
                        example: '94107'
                      state:
                        type: string
                        description: The merchant's two-letter state abbreviation.
                        example: CA
                      mcc:
                        type: string
                        description: The Merchant Category Code.
                        example: '7298'
                  createdOn:
                    type: string
                    format: date-time
                  cardTransactions:
                    type: array
                    items:
                      type: string
                    description: List of card transaction IDs associated with this authorization.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Issuing transactions
      x-speakeasy-name-override: getAuthorization
      x-codeSamples:
        - lang: typescript
          label: getIssuedCardAuthorization
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.issuingTransactions.getAuthorization({
                accountID: "0ccac2cc-6692-44a9-b0d1-35a1892c2db2",
                authorizationID: "d9ee8dde-b1eb-492f-bea1-d8e09bccbc52",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getIssuedCardAuthorization
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->issuingTransactions->getAuthorization(
                accountID: '0ccac2cc-6692-44a9-b0d1-35a1892c2db2',
                authorizationID: 'd9ee8dde-b1eb-492f-bea1-d8e09bccbc52'

            );

            if ($response->issuedCardAuthorization !== null) {
                // handle response
            }
        - lang: python
          label: getIssuedCardAuthorization
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.issuing_transactions.get_authorization(account_id="0ccac2cc-6692-44a9-b0d1-35a1892c2db2", authorization_id="d9ee8dde-b1eb-492f-bea1-d8e09bccbc52")

                # Handle response
                print(res)
        - lang: java
          label: getIssuedCardAuthorization
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetIssuedCardAuthorizationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetIssuedCardAuthorizationResponse res = sdk.issuingTransactions().getAuthorization()
                            .accountID("0ccac2cc-6692-44a9-b0d1-35a1892c2db2")
                            .authorizationID("d9ee8dde-b1eb-492f-bea1-d8e09bccbc52")
                            .call();

                    if (res.issuedCardAuthorization().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getIssuedCardAuthorization
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.issuing_transactions.get_authorization(account_id: '0ccac2cc-6692-44a9-b0d1-35a1892c2db2', authorization_id: 'd9ee8dde-b1eb-492f-bea1-d8e09bccbc52')

            unless res.issued_card_authorization.nil?
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which cards have been issued.
          schema:
            type: string
            format: uuid
        - name: authorizationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - eventID
                    - eventType
                    - amount
                    - result
                    - createdOn
                  properties:
                    eventID:
                      type: string
                      format: uuid
                      description: The identifier for this event. Use the `eventType` field to determine what resource is identified by this ID (`authorization`, `reversal`, etc.).
                    eventType:
                      type: string
                      enum:
                        - authorization
                        - reversal
                        - authorization-advice
                        - authorization-expiration
                        - authorization-incremental
                        - clearing
                      description: The type of event that occurred on the card.
                    amount:
                      type: string
                      format: ^\d+\.\d{1,2}$
                      description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
                      example: '-14.89'
                    result:
                      type: string
                      enum:
                        - approved
                        - declined
                        - processed
                      description: The result of an event.
                    createdOn:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Issuing transactions
      x-speakeasy-name-override: listAuthorizationEvents
      x-codeSamples:
        - lang: typescript
          label: listIssuedCardAuthorizationEvents
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.issuingTransactions.listAuthorizationEvents({
                accountID: "f30f8cb3-64d8-4a5f-a427-965317fa559a",
                authorizationID: "e6a0946d-f3d8-451e-9b1c-5bc346a95dd6",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listIssuedCardAuthorizationEvents
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListIssuedCardAuthorizationEventsRequest(
                accountID: 'f30f8cb3-64d8-4a5f-a427-965317fa559a',
                authorizationID: 'e6a0946d-f3d8-451e-9b1c-5bc346a95dd6',
                skip: 60,
                count: 20,
            );

            $response = $sdk->issuingTransactions->listAuthorizationEvents(
                request: $request
            );

            if ($response->issuedCardAuthorizationEvents !== null) {
                // handle response
            }
        - lang: python
          label: listIssuedCardAuthorizationEvents
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.issuing_transactions.list_authorization_events(account_id="f30f8cb3-64d8-4a5f-a427-965317fa559a", authorization_id="e6a0946d-f3d8-451e-9b1c-5bc346a95dd6", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listIssuedCardAuthorizationEvents
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListIssuedCardAuthorizationEventsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListIssuedCardAuthorizationEventsResponse res = sdk.issuingTransactions().listAuthorizationEvents()
                            .accountID("f30f8cb3-64d8-4a5f-a427-965317fa559a")
                            .authorizationID("e6a0946d-f3d8-451e-9b1c-5bc346a95dd6")
                            .skip(60L)
                            .count(20L)
                            .call();

                    if (res.issuedCardAuthorizationEvents().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listIssuedCardAuthorizationEvents
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListIssuedCardAuthorizationEventsRequest.new(
              account_id: 'f30f8cb3-64d8-4a5f-a427-965317fa559a',
              authorization_id: 'e6a0946d-f3d8-451e-9b1c-5bc346a95dd6',
              skip: 60,
              count: 20,
            )

            res = s.issuing_transactions.list_authorization_events(request: req)

            unless res.issued_card_authorization_events.nil?
              # handle response
            end
  /issuing/{accountID}/card-transactions:
    get:
      operationId: listIssuedCardTransactions
      description: |-
        List issued card transactions associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which cards have been issued.
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - name: issuedCardID
          in: query
          required: false
          description: Optional ID of the issued card to filter results.
          schema:
            type: string
            format: uuid
          explode: false
        - name: startDateTime
          in: query
          required: false
          description: Optional date-time which inclusively filters all card transactions created after this date-time.
          schema:
            type: string
            format: date-time
          explode: false
        - name: endDateTime
          in: query
          required: false
          description: Optional date-time which exclusively filters all card transactions created before this date-time.
          schema:
            type: string
            format: date-time
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - cardTransactionID
                    - issuedCardID
                    - fundingWalletID
                    - amount
                    - authorizedOn
                    - merchantData
                    - createdOn
                  properties:
                    cardTransactionID:
                      type: string
                      format: uuid
                    issuedCardID:
                      type: string
                      format: uuid
                    fundingWalletID:
                      type: string
                      format: uuid
                    amount:
                      type: string
                      format: ^\d+\.\d{1,2}$
                      description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
                      example: '-14.89'
                    authorizationID:
                      type: string
                      format: uuid
                    authorizedOn:
                      type: string
                      format: date-time
                    merchantData:
                      type: object
                      properties:
                        networkID:
                          type: string
                          description: External identifier used to identify the merchant with the card brand.
                        name:
                          type: string
                          description: Name of the merchant.
                          example: Whole Body Fitness
                        city:
                          type: string
                          description: The merchant's location.
                          example: San Francisco
                        country:
                          type: string
                          description: Two-letter country code.
                          example: US
                        postalCode:
                          type: string
                          description: The merchant's five-digit postal code.
                          example: '94107'
                        state:
                          type: string
                          description: The merchant's two-letter state abbreviation.
                          example: CA
                        mcc:
                          type: string
                          description: The Merchant Category Code.
                          example: '7298'
                    createdOn:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Issuing transactions
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listIssuedCardTransactions
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.issuingTransactions.list({
                accountID: "4efcb497-f915-4b6e-b973-e5e5bcc1fd34",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listIssuedCardTransactions
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListIssuedCardTransactionsRequest(
                accountID: '4efcb497-f915-4b6e-b973-e5e5bcc1fd34',
                skip: 60,
                count: 20,
            );

            $response = $sdk->issuingTransactions->list(
                request: $request
            );

            if ($response->issuedCardTransactions !== null) {
                // handle response
            }
        - lang: python
          label: listIssuedCardTransactions
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.issuing_transactions.list(account_id="4efcb497-f915-4b6e-b973-e5e5bcc1fd34", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listIssuedCardTransactions
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListIssuedCardTransactionsRequest;
            import org.openapis.openapi.models.operations.ListIssuedCardTransactionsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListIssuedCardTransactionsRequest req = ListIssuedCardTransactionsRequest.builder()
                            .accountID("4efcb497-f915-4b6e-b973-e5e5bcc1fd34")
                            .skip(60L)
                            .count(20L)
                            .build();

                    ListIssuedCardTransactionsResponse res = sdk.issuingTransactions().list()
                            .request(req)
                            .call();

                    if (res.issuedCardTransactions().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listIssuedCardTransactions
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListIssuedCardTransactionsRequest.new(
              account_id: '4efcb497-f915-4b6e-b973-e5e5bcc1fd34',
              skip: 60,
              count: 20,
            )

            res = s.issuing_transactions.list(request: req)

            unless res.issued_card_transactions.nil?
              # handle response
            end
  /issuing/{accountID}/card-transactions/{cardTransactionID}:
    get:
      operationId: getIssuedCardTransaction
      description: |-
        Retrieves details of an issued card transaction associated with a specific Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which cards have been issued.
          schema:
            type: string
            format: uuid
        - name: cardTransactionID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - cardTransactionID
                  - issuedCardID
                  - fundingWalletID
                  - amount
                  - authorizedOn
                  - merchantData
                  - createdOn
                properties:
                  cardTransactionID:
                    type: string
                    format: uuid
                  issuedCardID:
                    type: string
                    format: uuid
                  fundingWalletID:
                    type: string
                    format: uuid
                  amount:
                    type: string
                    format: ^\d+\.\d{1,2}$
                    description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
                    example: '-14.89'
                  authorizationID:
                    type: string
                    format: uuid
                  authorizedOn:
                    type: string
                    format: date-time
                  merchantData:
                    type: object
                    properties:
                      networkID:
                        type: string
                        description: External identifier used to identify the merchant with the card brand.
                      name:
                        type: string
                        description: Name of the merchant.
                        example: Whole Body Fitness
                      city:
                        type: string
                        description: The merchant's location.
                        example: San Francisco
                      country:
                        type: string
                        description: Two-letter country code.
                        example: US
                      postalCode:
                        type: string
                        description: The merchant's five-digit postal code.
                        example: '94107'
                      state:
                        type: string
                        description: The merchant's two-letter state abbreviation.
                        example: CA
                      mcc:
                        type: string
                        description: The Merchant Category Code.
                        example: '7298'
                  createdOn:
                    type: string
                    format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Issuing transactions
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getIssuedCardTransaction
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.issuingTransactions.get({
                accountID: "b2b6e23c-a5aa-46a9-adb7-d12876e47288",
                cardTransactionID: "d5a1aab9-eb96-409a-ab95-88ac99cf00a5",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getIssuedCardTransaction
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->issuingTransactions->get(
                accountID: 'b2b6e23c-a5aa-46a9-adb7-d12876e47288',
                cardTransactionID: 'd5a1aab9-eb96-409a-ab95-88ac99cf00a5'

            );

            if ($response->issuedCardTransaction !== null) {
                // handle response
            }
        - lang: python
          label: getIssuedCardTransaction
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.issuing_transactions.get(account_id="b2b6e23c-a5aa-46a9-adb7-d12876e47288", card_transaction_id="d5a1aab9-eb96-409a-ab95-88ac99cf00a5")

                # Handle response
                print(res)
        - lang: java
          label: getIssuedCardTransaction
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetIssuedCardTransactionResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetIssuedCardTransactionResponse res = sdk.issuingTransactions().get()
                            .accountID("b2b6e23c-a5aa-46a9-adb7-d12876e47288")
                            .cardTransactionID("d5a1aab9-eb96-409a-ab95-88ac99cf00a5")
                            .call();

                    if (res.issuedCardTransaction().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getIssuedCardTransaction
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.issuing_transactions.get(account_id: 'b2b6e23c-a5aa-46a9-adb7-d12876e47288', card_transaction_id: 'd5a1aab9-eb96-409a-ab95-88ac99cf00a5')

            unless res.issued_card_transaction.nil?
              # handle response
            end
  /issuing/{accountID}/issued-cards:
    post:
      operationId: requestCard
      description: |-
        Request a virtual card be issued.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which the card is to be issued.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - issuedCardID
                  - brand
                  - lastFourCardNumber
                  - expiration
                  - authorizedUser
                  - fundingWalletID
                  - state
                  - formFactor
                  - createdOn
                properties:
                  issuedCardID:
                    type: string
                    format: uuid
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  lastFourCardNumber:
                    type: string
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  authorizedUser:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                      lastName:
                        type: string
                    description: Fields for identifying an authorized individual.
                  memo:
                    type: string
                    description: Optional descriptor for the card.
                  fundingWalletID:
                    type: string
                    description: Unique identifier for the wallet funding the card.
                  state:
                    type: string
                    enum:
                      - active
                      - inactive
                      - pending-verification
                      - closed
                    description: |-
                      The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                      - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                      - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                      - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                      - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
                  formFactor:
                    type: string
                    enum:
                      - virtual
                    description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
                  controls:
                    type: object
                    properties:
                      singleUse:
                        type: boolean
                        description: Indicates if the card is single-use. If true, the card closes after the first authorization.
                      velocityLimits:
                        type: array
                        items:
                          type: object
                          required:
                            - amount
                            - interval
                          properties:
                            amount:
                              type: integer
                              format: int64
                              description: The maximum amount in cents that can be spent in a given interval.
                              example: 10000
                            interval:
                              type: string
                              enum:
                                - per-transaction
                              description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
                        description: Sets the spending limit per time interval. Only one limit per interval is supported.
                  createdOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  fundingWalletID:
                    type: string
                  formFactor:
                    type: string
                  authorizedUser:
                    type: object
                    properties:
                      firstName:
                        type: string
                      lastName:
                        type: string
                      birthDate:
                        type: object
                        properties:
                          day:
                            type: string
                          month:
                            type: string
                          year:
                            type: string
                  memo:
                    type: string
                  expiration:
                    type: object
                    properties:
                      month:
                        type: string
                      year:
                        type: string
                  controls:
                    type: object
                    properties:
                      velocityLimits:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            amount:
                              type: string
                            interval:
                              type: string
                    example:
                      velocityLimits:
                        '0':
                          amount: must be no less than 1
                          interval: must be a valid value
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Card issuing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - fundingWalletID
                - authorizedUser
                - formFactor
              properties:
                fundingWalletID:
                  type: string
                  format: uuid
                authorizedUser:
                  type: object
                  required:
                    - firstName
                    - lastName
                  properties:
                    firstName:
                      type: string
                    lastName:
                      type: string
                    birthDate:
                      type: object
                      required:
                        - day
                        - month
                        - year
                      properties:
                        day:
                          type: integer
                          example: 9
                        month:
                          type: integer
                          example: 11
                        year:
                          type: integer
                          example: 1989
                  description: Fields for identifying an authorized individual.
                formFactor:
                  type: string
                  enum:
                    - virtual
                  description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
                memo:
                  type: string
                  description: An optional descriptive name for the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                controls:
                  type: object
                  properties:
                    singleUse:
                      type: boolean
                      description: Indicates if the card is single-use. If true, the card closes after the first authorization.
                    velocityLimits:
                      type: array
                      items:
                        type: object
                        required:
                          - amount
                          - interval
                        properties:
                          amount:
                            type: integer
                            format: int64
                            description: The maximum amount in cents that can be spent in a given interval.
                            example: 10000
                          interval:
                            type: string
                            enum:
                              - per-transaction
                            description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
                      description: Sets the spending limit per time interval. Only one limit per interval is supported.
      x-speakeasy-name-override: request
      x-codeSamples:
        - lang: typescript
          label: requestCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cardIssuing.request({
                accountID: "4d9ac71a-efcc-4bdf-bcfe-d710ca654e3e",
                requestCard: {
                  fundingWalletID: "fd98e3b2-696f-4f67-9250-17b3474ababf",
                  authorizedUser: {
                    firstName: "Milton",
                    lastName: "Stiedemann",
                    birthDate: {
                      day: 9,
                      month: 11,
                      year: 1989,
                    },
                  },
                  formFactor: "virtual",
                  expiration: {
                    month: "01",
                    year: "21",
                  },
                  controls: {
                    velocityLimits: [
                      {
                        amount: 10000,
                        interval: "per-transaction",
                      },
                    ],
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: requestCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $requestCard = new Components\RequestCard(
                fundingWalletID: 'fd98e3b2-696f-4f67-9250-17b3474ababf',
                authorizedUser: new Components\CreateAuthorizedUser(
                    firstName: 'Milton',
                    lastName: 'Stiedemann',
                    birthDate: new Components\BirthDate(
                        day: 9,
                        month: 11,
                        year: 1989,
                    ),
                ),
                formFactor: Components\IssuedCardFormFactor::Virtual,
                expiration: new Components\CardExpiration(
                    month: '01',
                    year: '21',
                ),
                controls: new Components\IssuingControls(
                    velocityLimits: [
                        new Components\IssuingVelocityLimit(
                            amount: 10000,
                            interval: Components\IssuingIntervalLimit::PerTransaction,
                        ),
                    ],
                ),
            );

            $response = $sdk->cardIssuing->request(
                accountID: '4d9ac71a-efcc-4bdf-bcfe-d710ca654e3e',
                requestCard: $requestCard

            );

            if ($response->issuedCard !== null) {
                // handle response
            }
        - lang: python
          label: requestCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.card_issuing.request(account_id="4d9ac71a-efcc-4bdf-bcfe-d710ca654e3e", funding_wallet_id="fd98e3b2-696f-4f67-9250-17b3474ababf", authorized_user={
                    "first_name": "Milton",
                    "last_name": "Stiedemann",
                    "birth_date": {
                        "day": 9,
                        "month": 11,
                        "year": 1989,
                    },
                }, form_factor="virtual", expiration={
                    "month": "01",
                    "year": "21",
                }, controls={
                    "velocity_limits": [
                        {
                            "amount": 10000,
                            "interval": "per-transaction",
                        },
                    ],
                })

                # Handle response
                print(res)
        - lang: java
          label: requestCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.RequestCardError;
            import org.openapis.openapi.models.operations.RequestCardResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, RequestCardError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RequestCardResponse res = sdk.cardIssuing().request()
                            .accountID("4d9ac71a-efcc-4bdf-bcfe-d710ca654e3e")
                            .requestCard(RequestCard.builder()
                                .fundingWalletID("fd98e3b2-696f-4f67-9250-17b3474ababf")
                                .authorizedUser(CreateAuthorizedUser.builder()
                                    .firstName("Milton")
                                    .lastName("Stiedemann")
                                    .birthDate(BirthDate.builder()
                                        .day(9L)
                                        .month(11L)
                                        .year(1989L)
                                        .build())
                                    .build())
                                .formFactor(IssuedCardFormFactor.VIRTUAL)
                                .expiration(CardExpiration.builder()
                                    .month("01")
                                    .year("21")
                                    .build())
                                .controls(IssuingControls.builder()
                                    .velocityLimits(List.of(
                                        IssuingVelocityLimit.builder()
                                            .amount(10000L)
                                            .interval(IssuingIntervalLimit.PER_TRANSACTION)
                                            .build()))
                                    .build())
                                .build())
                            .call();

                    if (res.issuedCard().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: requestCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.card_issuing.request(account_id: '4d9ac71a-efcc-4bdf-bcfe-d710ca654e3e', request_card: Models::Components::RequestCard.new(
              funding_wallet_id: 'fd98e3b2-696f-4f67-9250-17b3474ababf',
              authorized_user: Models::Components::CreateAuthorizedUser.new(
                first_name: 'Milton',
                last_name: 'Stiedemann',
                birth_date: Models::Components::BirthDate.new(
                  day: 9,
                  month: 11,
                  year: 1989,
                ),
              ),
              form_factor: Models::Components::IssuedCardFormFactor::VIRTUAL,
              expiration: Models::Components::CardExpiration.new(
                month: '01',
                year: '21',
              ),
              controls: Models::Components::IssuingControls.new(
                velocity_limits: [
                  Models::Components::IssuingVelocityLimit.new(
                    amount: 10_000,
                    interval: Models::Components::IssuingIntervalLimit::PER_TRANSACTION,
                  ),
                ],
              ),
            ))

            unless res.issued_card.nil?
              # handle response
            end
    get:
      operationId: listIssuedCards
      description: |-
        List Moov issued cards existing for the account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which the cards have been issued.
          schema:
            type: string
            format: uuid
        - name: skip
          in: query
          required: false
          schema:
            type: integer
            format: int64
            description: The number of entries to skip when paginating a large result set.
            example: 60
          explode: false
        - name: count
          in: query
          required: false
          schema:
            default: 200
            type: integer
            format: int64
            description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
            example: 20
          explode: false
        - 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:
              type: string
              enum:
                - active
                - inactive
                - pending-verification
                - closed
              description: |-
                The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
          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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - issuedCardID
                    - brand
                    - lastFourCardNumber
                    - expiration
                    - authorizedUser
                    - fundingWalletID
                    - state
                    - formFactor
                    - createdOn
                  properties:
                    issuedCardID:
                      type: string
                      format: uuid
                    brand:
                      type: string
                      enum:
                        - American Express
                        - Discover
                        - Mastercard
                        - Visa
                        - Unknown
                      description: The card brand.
                      example: Visa
                    lastFourCardNumber:
                      type: string
                    expiration:
                      type: object
                      required:
                        - month
                        - year
                      properties:
                        month:
                          type: string
                          minLength: 2
                          maxLength: 2
                        year:
                          type: string
                          minLength: 2
                          maxLength: 2
                      description: The expiration date of the card or token.
                      example:
                        month: '01'
                        year: '21'
                    authorizedUser:
                      type: object
                      required:
                        - firstName
                        - lastName
                      properties:
                        firstName:
                          type: string
                        lastName:
                          type: string
                      description: Fields for identifying an authorized individual.
                    memo:
                      type: string
                      description: Optional descriptor for the card.
                    fundingWalletID:
                      type: string
                      description: Unique identifier for the wallet funding the card.
                    state:
                      type: string
                      enum:
                        - active
                        - inactive
                        - pending-verification
                        - closed
                      description: |-
                        The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                        - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                        - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                        - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                        - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
                    formFactor:
                      type: string
                      enum:
                        - virtual
                      description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
                    controls:
                      type: object
                      properties:
                        singleUse:
                          type: boolean
                          description: Indicates if the card is single-use. If true, the card closes after the first authorization.
                        velocityLimits:
                          type: array
                          items:
                            type: object
                            required:
                              - amount
                              - interval
                            properties:
                              amount:
                                type: integer
                                format: int64
                                description: The maximum amount in cents that can be spent in a given interval.
                                example: 10000
                              interval:
                                type: string
                                enum:
                                  - per-transaction
                                description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
                          description: Sets the spending limit per time interval. Only one limit per interval is supported.
                    createdOn:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Card issuing
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listIssuedCards
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cardIssuing.list({
                accountID: "17c958e0-3abe-46e5-8afb-98742f1fb8ac",
                skip: 60,
                count: 20,
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listIssuedCards
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Operations;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $request = new Operations\ListIssuedCardsRequest(
                accountID: '17c958e0-3abe-46e5-8afb-98742f1fb8ac',
                skip: 60,
                count: 20,
            );

            $response = $sdk->cardIssuing->list(
                request: $request
            );

            if ($response->issuedCards !== null) {
                // handle response
            }
        - lang: python
          label: listIssuedCards
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.card_issuing.list(account_id="17c958e0-3abe-46e5-8afb-98742f1fb8ac", skip=60, count=20)

                # Handle response
                print(res)
        - lang: java
          label: listIssuedCards
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListIssuedCardsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListIssuedCardsResponse res = sdk.cardIssuing().list()
                            .accountID("17c958e0-3abe-46e5-8afb-98742f1fb8ac")
                            .skip(60L)
                            .count(20L)
                            .call();

                    if (res.issuedCards().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listIssuedCards
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            req = Models::Operations::ListIssuedCardsRequest.new(
              account_id: '17c958e0-3abe-46e5-8afb-98742f1fb8ac',
              skip: 60,
              count: 20,
            )

            res = s.card_issuing.list(request: req)

            unless res.issued_cards.nil?
              # handle response
            end
  /issuing/{accountID}/issued-cards/{issuedCardID}:
    get:
      operationId: getIssuedCard
      description: |-
        Retrieve a single issued card associated with a Moov account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which the card was issued.
          schema:
            type: string
            format: uuid
        - name: issuedCardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - issuedCardID
                  - brand
                  - lastFourCardNumber
                  - expiration
                  - authorizedUser
                  - fundingWalletID
                  - state
                  - formFactor
                  - createdOn
                properties:
                  issuedCardID:
                    type: string
                    format: uuid
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  lastFourCardNumber:
                    type: string
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  authorizedUser:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                      lastName:
                        type: string
                    description: Fields for identifying an authorized individual.
                  memo:
                    type: string
                    description: Optional descriptor for the card.
                  fundingWalletID:
                    type: string
                    description: Unique identifier for the wallet funding the card.
                  state:
                    type: string
                    enum:
                      - active
                      - inactive
                      - pending-verification
                      - closed
                    description: |-
                      The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                      - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                      - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                      - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                      - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
                  formFactor:
                    type: string
                    enum:
                      - virtual
                    description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
                  controls:
                    type: object
                    properties:
                      singleUse:
                        type: boolean
                        description: Indicates if the card is single-use. If true, the card closes after the first authorization.
                      velocityLimits:
                        type: array
                        items:
                          type: object
                          required:
                            - amount
                            - interval
                          properties:
                            amount:
                              type: integer
                              format: int64
                              description: The maximum amount in cents that can be spent in a given interval.
                              example: 10000
                            interval:
                              type: string
                              enum:
                                - per-transaction
                              description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
                        description: Sets the spending limit per time interval. Only one limit per interval is supported.
                  createdOn:
                    type: string
                    format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Card issuing
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getIssuedCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cardIssuing.get({
                accountID: "4fde8da4-b6c5-4379-82a2-4ff6a742e41a",
                issuedCardID: "d04885c9-ea6b-43a7-9186-63d9fbd57716",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getIssuedCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->cardIssuing->get(
                accountID: '4fde8da4-b6c5-4379-82a2-4ff6a742e41a',
                issuedCardID: 'd04885c9-ea6b-43a7-9186-63d9fbd57716'

            );

            if ($response->issuedCard !== null) {
                // handle response
            }
        - lang: python
          label: getIssuedCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.card_issuing.get(account_id="4fde8da4-b6c5-4379-82a2-4ff6a742e41a", issued_card_id="d04885c9-ea6b-43a7-9186-63d9fbd57716")

                # Handle response
                print(res)
        - lang: java
          label: getIssuedCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetIssuedCardResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetIssuedCardResponse res = sdk.cardIssuing().get()
                            .accountID("4fde8da4-b6c5-4379-82a2-4ff6a742e41a")
                            .issuedCardID("d04885c9-ea6b-43a7-9186-63d9fbd57716")
                            .call();

                    if (res.issuedCard().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getIssuedCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.card_issuing.get(account_id: '4fde8da4-b6c5-4379-82a2-4ff6a742e41a', issued_card_id: 'd04885c9-ea6b-43a7-9186-63d9fbd57716')

            unless res.issued_card.nil?
              # handle response
            end
    patch:
      operationId: updateIssuedCard
      description: |-
        Update a Moov issued card.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which the card was issued.
          schema:
            type: string
            format: uuid
        - name: issuedCardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  state:
                    type: string
                  memo:
                    type: string
                  authorizedUser:
                    type: object
                    properties:
                      firstName:
                        type: string
                      lastName:
                        type: string
                      birthDate:
                        type: object
                        properties:
                          day:
                            type: string
                          month:
                            type: string
                          year:
                            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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Card issuing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                state:
                  type: string
                  enum:
                    - active
                    - inactive
                    - pending-verification
                    - closed
                  description: |-
                    The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                    - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                    - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                    - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                    - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
                memo:
                  type: string
                authorizedUser:
                  type: object
                  properties:
                    firstName:
                      type: string
                    lastName:
                      type: string
                    birthDate:
                      type: object
                      properties:
                        day:
                          type: integer
                          example: 9
                        month:
                          type: integer
                          example: 11
                        year:
                          type: integer
                          example: 1989
                  description: Fields for identifying an authorized individual.
      x-speakeasy-name-override: update
      x-codeSamples:
        - lang: typescript
          label: updateIssuedCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cardIssuing.update({
                accountID: "44db31bc-2813-424b-9b8c-2d3f5f1300e3",
                issuedCardID: "69ca2a7e-7bbc-4176-9d0c-2a1aa7143006",
                updateIssuedCard: {
                  authorizedUser: {
                    birthDate: {
                      day: 9,
                      month: 11,
                      year: 1989,
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: updateIssuedCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $updateIssuedCard = new Components\UpdateIssuedCard(
                authorizedUser: new Components\CreateAuthorizedUserUpdate(
                    birthDate: new Components\BirthDateUpdate(
                        day: 9,
                        month: 11,
                        year: 1989,
                    ),
                ),
            );

            $response = $sdk->cardIssuing->update(
                accountID: '44db31bc-2813-424b-9b8c-2d3f5f1300e3',
                issuedCardID: '69ca2a7e-7bbc-4176-9d0c-2a1aa7143006',
                updateIssuedCard: $updateIssuedCard

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: updateIssuedCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.card_issuing.update(account_id="44db31bc-2813-424b-9b8c-2d3f5f1300e3", issued_card_id="69ca2a7e-7bbc-4176-9d0c-2a1aa7143006", authorized_user={
                    "birth_date": {
                        "day": 9,
                        "month": 11,
                        "year": 1989,
                    },
                })

                # Handle response
                print(res)
        - lang: java
          label: updateIssuedCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.UpdateIssuedCardError;
            import org.openapis.openapi.models.operations.UpdateIssuedCardResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, UpdateIssuedCardError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    UpdateIssuedCardResponse res = sdk.cardIssuing().update()
                            .accountID("44db31bc-2813-424b-9b8c-2d3f5f1300e3")
                            .issuedCardID("69ca2a7e-7bbc-4176-9d0c-2a1aa7143006")
                            .updateIssuedCard(UpdateIssuedCard.builder()
                                .authorizedUser(CreateAuthorizedUserUpdate.builder()
                                    .birthDate(BirthDateUpdate.builder()
                                        .day(9L)
                                        .month(11L)
                                        .year(1989L)
                                        .build())
                                    .build())
                                .build())
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: updateIssuedCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.card_issuing.update(account_id: '44db31bc-2813-424b-9b8c-2d3f5f1300e3', issued_card_id: '69ca2a7e-7bbc-4176-9d0c-2a1aa7143006', update_issued_card: Models::Components::UpdateIssuedCard.new(
              authorized_user: Models::Components::CreateAuthorizedUserUpdate.new(
                birth_date: Models::Components::BirthDateUpdate.new(
                  day: 9,
                  month: 11,
                  year: 1989,
                ),
              ),
            ))

            if res.status_code == 200
              # handle response
            end
  /issuing/{accountID}/issued-cards/{issuedCardID}/details:
    get:
      operationId: getFullIssuedCard
      description: |-
        Get issued card with PAN, CVV, and expiration. 

        Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/issued-cards.read-secure` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: accountID
          in: path
          required: true
          description: The Moov business account for which the card was issued.
          schema:
            type: string
            format: uuid
        - name: issuedCardID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - issuedCardID
                  - brand
                  - lastFourCardNumber
                  - expiration
                  - authorizedUser
                  - fundingWalletID
                  - state
                  - formFactor
                  - createdOn
                  - pan
                  - cvv
                properties:
                  issuedCardID:
                    type: string
                    format: uuid
                  brand:
                    type: string
                    enum:
                      - American Express
                      - Discover
                      - Mastercard
                      - Visa
                      - Unknown
                    description: The card brand.
                    example: Visa
                  lastFourCardNumber:
                    type: string
                  expiration:
                    type: object
                    required:
                      - month
                      - year
                    properties:
                      month:
                        type: string
                        minLength: 2
                        maxLength: 2
                      year:
                        type: string
                        minLength: 2
                        maxLength: 2
                    description: The expiration date of the card or token.
                    example:
                      month: '01'
                      year: '21'
                  authorizedUser:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                      lastName:
                        type: string
                    description: Fields for identifying an authorized individual.
                  memo:
                    type: string
                    description: Optional descriptor for the card.
                  fundingWalletID:
                    type: string
                    description: Unique identifier for the wallet funding the card.
                  state:
                    type: string
                    enum:
                      - active
                      - inactive
                      - pending-verification
                      - closed
                    description: |-
                      The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

                      - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
                      - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
                      - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
                      - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
                  formFactor:
                    type: string
                    enum:
                      - virtual
                    description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
                  controls:
                    type: object
                    properties:
                      singleUse:
                        type: boolean
                        description: Indicates if the card is single-use. If true, the card closes after the first authorization.
                      velocityLimits:
                        type: array
                        items:
                          type: object
                          required:
                            - amount
                            - interval
                          properties:
                            amount:
                              type: integer
                              format: int64
                              description: The maximum amount in cents that can be spent in a given interval.
                              example: 10000
                            interval:
                              type: string
                              enum:
                                - per-transaction
                              description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
                        description: Sets the spending limit per time interval. Only one limit per interval is supported.
                  createdOn:
                    type: string
                    format: date-time
                  pan:
                    type: string
                    minLength: 16
                    maxLength: 19
                    description: The issued card's Primary Account Number (PAN)
                  cvv:
                    type: string
                    minLength: 3
                    maxLength: 4
                    description: The issued card's 3- or 4-digit Card Verification Value (CVV).
                description: The full details of an issued card, including PAN and CVV.
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Card issuing
      x-speakeasy-name-override: getFull
      x-codeSamples:
        - lang: typescript
          label: getFullIssuedCard
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.cardIssuing.getFull({
                accountID: "512052fb-5e2c-4d24-98dd-fa893c9d8a03",
                issuedCardID: "087ecc51-11fe-4471-a3bb-44f20c1e87a9",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getFullIssuedCard
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->cardIssuing->getFull(
                accountID: '512052fb-5e2c-4d24-98dd-fa893c9d8a03',
                issuedCardID: '087ecc51-11fe-4471-a3bb-44f20c1e87a9'

            );

            if ($response->fullIssuedCard !== null) {
                // handle response
            }
        - lang: python
          label: getFullIssuedCard
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.card_issuing.get_full(account_id="512052fb-5e2c-4d24-98dd-fa893c9d8a03", issued_card_id="087ecc51-11fe-4471-a3bb-44f20c1e87a9")

                # Handle response
                print(res)
        - lang: java
          label: getFullIssuedCard
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetFullIssuedCardResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetFullIssuedCardResponse res = sdk.cardIssuing().getFull()
                            .accountID("512052fb-5e2c-4d24-98dd-fa893c9d8a03")
                            .issuedCardID("087ecc51-11fe-4471-a3bb-44f20c1e87a9")
                            .call();

                    if (res.fullIssuedCard().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getFullIssuedCard
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.card_issuing.get_full(account_id: '512052fb-5e2c-4d24-98dd-fa893c9d8a03', issued_card_id: '087ecc51-11fe-4471-a3bb-44f20c1e87a9')

            unless res.full_issued_card.nil?
              # handle response
            end
  /oauth2/revoke:
    post:
      operationId: revokeAccessToken
      description: |-
        Revoke an auth token.

        Allows clients to notify the authorization server that a previously obtained refresh or access token is no longer needed.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  token:
                    type: string
                  token_type_hint:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - token
              properties:
                token:
                  type: string
                  description: The access or refresh token to revoke.
                token_type_hint:
                  type: string
                  enum:
                    - access_token
                    - refresh_token
                  description: The type of token being revoked.
                client_id:
                  type: string
                  description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
                  example: 5clTR_MdVrrkgxw2
                client_secret:
                  type: string
                  description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
                  example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - token
              properties:
                token:
                  type: string
                  description: The access or refresh token to revoke.
                token_type_hint:
                  type: string
                  enum:
                    - access_token
                    - refresh_token
                  description: The type of token being revoked.
                client_id:
                  type: string
                  description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
                  example: 5clTR_MdVrrkgxw2
                client_secret:
                  type: string
                  description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
                  example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
      x-codeSamples:
        - lang: typescript
          label: revokeAccessToken
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.authentication.revokeAccessToken({
                token: "<value>",
                clientId: "5clTR_MdVrrkgxw2",
                clientSecret: "dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: revokeAccessToken
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $revokeTokenRequest = new Components\RevokeTokenRequest(
                token: '<value>',
                clientId: '5clTR_MdVrrkgxw2',
                clientSecret: 'dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-',
            );

            $response = $sdk->authentication->revokeAccessToken(
                revokeTokenRequest: $revokeTokenRequest
            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: revokeAccessToken
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.authentication.revoke_access_token(token="<value>", client_id="5clTR_MdVrrkgxw2", client_secret="dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-")

                # Handle response
                print(res)
        - lang: java
          label: revokeAccessToken
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.RevokeTokenRequestError;
            import org.openapis.openapi.models.operations.RevokeAccessTokenResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, RevokeTokenRequestError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RevokeAccessTokenResponse res = sdk.authentication().revokeAccessToken()
                            .token("<value>")
                            .clientId("5clTR_MdVrrkgxw2")
                            .clientSecret("dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: revokeAccessToken
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.authentication.revoke_access_token(revoke_token_request: Models::Components::RevokeTokenRequest.new(
              token: '<value>',
              client_id: '5clTR_MdVrrkgxw2',
              client_secret: 'dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-',
            ))

            if res.status_code == 200
              # handle response
            end
  /oauth2/token:
    post:
      operationId: createAccessToken
      description: Create or refresh an access token.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - token_type
                  - access_token
                  - refresh_token
                  - expires_in
                  - scope
                properties:
                  token_type:
                    type: string
                    enum:
                      - Bearer
                    description: An [RFC 6750](https://www.rfc-editor.org/rfc/rfc6750#section-6.1) token type.
                    example: Bearer
                  access_token:
                    type: string
                    maxLength: 4096
                    description: A value passed to the authorization server to gain access to the system.
                    example: eyJhbGciOiJFZERTQSIsImN0eSI6IkpXVCIsImtpZCI6IkR...
                  refresh_token:
                    type: string
                    maxLength: 4096
                    description: A value passed to the authorization server to obtain a new access token.
                    example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
                  expires_in:
                    type: integer
                    format: int32
                    description: Unix timestamp indicating when this token expires.
                    example: 1736964352
                  scope:
                    type: string
                    description: A space-delimited list of [scopes](https://docs.moov.io/api/authentication/scopes/) that are allowed.
                    example: /accounts.read /accounts.write
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  scope:
                    type: string
                  refresh_token:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - grant_type
              properties:
                grant_type:
                  type: string
                  enum:
                    - client_credentials
                    - refresh_token
                  description: |-
                    The type of grant being requested.

                      - `client_credentials`: A grant type used by clients to obtain an access token
                      - `refresh_token`: A grant type used by clients to obtain a new access token using a refresh token
                client_id:
                  type: string
                  description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
                  example: 5clTR_MdVrrkgxw2
                client_secret:
                  type: string
                  description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
                  example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
                scope:
                  type: string
                  description: A space delimited list of scopes. Required when `grant_type` is `client_credentials`.
                  example: /accounts.read /accounts.write
                refresh_token:
                  type: string
                  description: The refresh_token returned alongside the access token being refreshed. Required when `grant_type` is `refresh_token`.
                  example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - grant_type
              properties:
                grant_type:
                  type: string
                  enum:
                    - client_credentials
                    - refresh_token
                  description: |-
                    The type of grant being requested.

                      - `client_credentials`: A grant type used by clients to obtain an access token
                      - `refresh_token`: A grant type used by clients to obtain a new access token using a refresh token
                client_id:
                  type: string
                  description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
                  example: 5clTR_MdVrrkgxw2
                client_secret:
                  type: string
                  description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
                  example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
                scope:
                  type: string
                  description: A space delimited list of scopes. Required when `grant_type` is `client_credentials`.
                  example: /accounts.read /accounts.write
                refresh_token:
                  type: string
                  description: The refresh_token returned alongside the access token being refreshed. Required when `grant_type` is `refresh_token`.
                  example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
      x-codeSamples:
        - lang: typescript
          label: createAccessToken
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.authentication.createAccessToken({
                grantType: "client_credentials",
                clientId: "5clTR_MdVrrkgxw2",
                clientSecret: "dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-",
                scope: "/accounts.read /accounts.write",
                refreshToken: "eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createAccessToken
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $authTokenRequest = new Components\AuthTokenRequest(
                grantType: Components\GrantType::ClientCredentials,
                clientId: '5clTR_MdVrrkgxw2',
                clientSecret: 'dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-',
                scope: '/accounts.read /accounts.write',
                refreshToken: 'eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...',
            );

            $response = $sdk->authentication->createAccessToken(
                authTokenRequest: $authTokenRequest
            );

            if ($response->authToken !== null) {
                // handle response
            }
        - lang: python
          label: createAccessToken
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.authentication.create_access_token(grant_type="client_credentials", client_id="5clTR_MdVrrkgxw2", client_secret="dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-", scope="/accounts.read /accounts.write", refresh_token="eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...")

                # Handle response
                print(res)
        - lang: java
          label: createAccessToken
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.AuthTokenRequest;
            import org.openapis.openapi.models.components.GrantType;
            import org.openapis.openapi.models.errors.AuthTokenRequestError;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateAccessTokenResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, AuthTokenRequestError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    AuthTokenRequest req = AuthTokenRequest.builder()
                            .grantType(GrantType.CLIENT_CREDENTIALS)
                            .clientId("5clTR_MdVrrkgxw2")
                            .clientSecret("dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-")
                            .scope("/accounts.read /accounts.write")
                            .refreshToken("eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...")
                            .build();

                    CreateAccessTokenResponse res = sdk.authentication().createAccessToken()
                            .request(req)
                            .call();

                    if (res.authToken().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createAccessToken
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.authentication.create_access_token(auth_token_request: Models::Components::AuthTokenRequest.new(
              grant_type: Models::Components::GrantType::CLIENT_CREDENTIALS,
              client_id: '5clTR_MdVrrkgxw2',
              client_secret: 'dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-',
              scope: '/accounts.read /accounts.write',
              refresh_token: 'eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...',
            ))

            unless res.auth_token.nil?
              # handle response
            end
  /onboarding-invites:
    post:
      operationId: createOnboardingInvite
      description: |-
        Create an invitation containing a unique link that allows the recipient to onboard their organization with Moov.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - link
                  - scopes
                  - capabilities
                  - feePlanCodes
                  - createdOn
                properties:
                  code:
                    type: string
                    description: A unique code that identifies an onboarding invite.
                    example: N1IA5eWYNh
                  link:
                    type: string
                    format: uri
                    description: A unique URL, including the invite code, that the recipient can follow to redeem the invitation.
                  returnURL:
                    type: string
                    description: The scopes requested by the inviter.
                  termsOfServiceURL:
                    type: string
                    description: The terms of service URL set by the inviter.
                  scopes:
                    type: array
                    items:
                      type: string
                      enum:
                        - accounts.read
                        - accounts.write
                        - analytics.read
                        - apple-pay-merchant.read
                        - apple-pay-merchant.write
                        - apple-pay.read
                        - apple-pay.write
                        - bank-accounts.read
                        - bank-accounts.write
                        - capabilities.read
                        - capabilities.write
                        - cards.read
                        - cards.write
                        - documents.read
                        - documents.write
                        - fed.read
                        - files.read
                        - files.write
                        - issued-cards.read
                        - issued-cards.write
                        - issued-cards.read-secure
                        - payment-methods.read
                        - ping.read
                        - profile-enrichment.read
                        - profile.read
                        - profile.write
                        - profile.disconnect
                        - representatives.read
                        - representatives.write
                        - transfers.read
                        - transfers.write
                        - wallets.read
                      description: A permission that the application requests on another account.
                    minItems: 1
                    description: |-
                      List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
                      account. These values are used to determine what can be done with the account onboarded.
                    example:
                      - accounts.read
                  capabilities:
                    type: array
                    items:
                      type: string
                      enum:
                        - transfers
                        - send-funds
                        - send-funds.push-to-card
                        - money-transfer.push-to-card
                        - send-funds.ach
                        - send-funds.rtp
                        - send-funds.instant-bank
                        - collect-funds
                        - collect-funds.card-payments
                        - money-transfer.pull-from-card
                        - collect-funds.ach
                        - wallet
                        - wallet.balance
                        - card-issuing
                        - production-app
                        - platform.production-app
                        - platform.wallet-transfers
                      description: |-
                        Moov account capabilities.

                        The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                    minItems: 1
                    description: |2-
                        List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
                        account. These values are used to determine what information to collect from the user during onboarding.
                    example:
                      - transfers
                  feePlanCodes:
                    type: array
                    items:
                      type: string
                    minItems: 1
                    description: List of fee plan codes to assign the account created by the invitee.
                    example:
                      - merchant-direct
                  redeemedAccountID:
                    type: string
                    format: uuid
                    description: The account ID of the account that redeemed the invite.
                  prefill:
                    type: object
                    required:
                      - accountType
                      - profile
                    properties:
                      accountType:
                        type: string
                        enum:
                          - individual
                          - business
                      profile:
                        type: object
                        properties:
                          individual:
                            type: object
                            required:
                              - name
                            properties:
                              name:
                                type: object
                                required:
                                  - firstName
                                  - lastName
                                properties:
                                  firstName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's first given name.
                                    example: Jordan
                                  middleName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's second given name, if any.
                                    example: Reese
                                  lastName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's family name.
                                    example: Lee
                                  suffix:
                                    type: string
                                    maxLength: 20
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: Suffix of a given name.
                                    example: Jr
                              phone:
                                type: object
                                properties:
                                  number:
                                    type: string
                                    maxLength: 10
                                    example: '8185551212'
                                  countryCode:
                                    type: string
                                    maxLength: 1
                                    example: '1'
                              email:
                                type: string
                                maxLength: 255
                                format: email
                                example: jordan.lee@classbooker.dev
                              address:
                                type: object
                                required:
                                  - addressLine1
                                  - city
                                  - stateOrProvince
                                  - postalCode
                                  - country
                                properties:
                                  addressLine1:
                                    type: string
                                    maxLength: 60
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: 123 Main Street
                                  addressLine2:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Apt 302
                                  city:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Boulder
                                  stateOrProvince:
                                    type: string
                                    maxLength: 2
                                    example: CO
                                  postalCode:
                                    type: string
                                    maxLength: 5
                                    example: '80301'
                                  country:
                                    type: string
                                    maxLength: 2
                                    example: US
                              birthDate:
                                type: object
                                required:
                                  - day
                                  - month
                                  - year
                                properties:
                                  day:
                                    type: integer
                                    example: 9
                                  month:
                                    type: integer
                                    example: 11
                                  year:
                                    type: integer
                                    example: 1989
                              governmentID:
                                type: object
                                properties:
                                  ssn:
                                    type: object
                                    properties:
                                      full:
                                        type: string
                                        pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                      lastFour:
                                        type: string
                                  itin:
                                    type: object
                                    properties:
                                      full:
                                        type: string
                                        pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                      lastFour:
                                        type: string
                          business:
                            type: object
                            required:
                              - legalBusinessName
                            properties:
                              legalBusinessName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                description: The legal name under which the entity is registered.
                                example: Classbooker, LLC
                              doingBusinessAs:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                description: A registered trade name under which the business operates, if different from its legal name.
                              businessType:
                                type: string
                                enum:
                                  - soleProprietorship
                                  - unincorporatedAssociation
                                  - trust
                                  - publicCorporation
                                  - privateCorporation
                                  - llc
                                  - partnership
                                  - unincorporatedNonProfit
                                  - incorporatedNonProfit
                                  - governmentEntity
                                description: The type of entity represented by this business.
                                example: llc
                              address:
                                type: object
                                required:
                                  - addressLine1
                                  - city
                                  - stateOrProvince
                                  - postalCode
                                  - country
                                properties:
                                  addressLine1:
                                    type: string
                                    maxLength: 60
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: 123 Main Street
                                  addressLine2:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Apt 302
                                  city:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Boulder
                                  stateOrProvince:
                                    type: string
                                    maxLength: 2
                                    example: CO
                                  postalCode:
                                    type: string
                                    maxLength: 5
                                    example: '80301'
                                  country:
                                    type: string
                                    maxLength: 2
                                    example: US
                              phone:
                                type: object
                                properties:
                                  number:
                                    type: string
                                    maxLength: 10
                                    example: '8185551212'
                                  countryCode:
                                    type: string
                                    maxLength: 1
                                    example: '1'
                              email:
                                type: string
                                maxLength: 255
                                format: email
                                example: jordan.lee@classbooker.dev
                              website:
                                type: string
                                format: uri
                                maxLength: 100
                              description:
                                type: string
                                minLength: 10
                                maxLength: 100
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Local fitness gym paying out instructors
                              taxID:
                                type: object
                                required:
                                  - ein
                                properties:
                                  ein:
                                    type: object
                                    properties:
                                      number:
                                        type: string
                                        example: 12-3456789
                                    required:
                                      - number
                                description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                              industryCodes:
                                type: object
                                properties:
                                  naics:
                                    type: string
                                    minLength: 2
                                    maxLength: 6
                                    example: '713940'
                                  sic:
                                    type: string
                                    minLength: 4
                                    maxLength: 4
                                    example: '7991'
                                  mcc:
                                    type: string
                                    minLength: 4
                                    maxLength: 4
                                    example: '7997'
                              primaryRegulator:
                                type: string
                                enum:
                                  - OCC
                                  - FDIC
                                  - NCUA
                                  - FRB
                                  - state-cu-regulator
                                description: If the business is a financial institution, this field describes its primary regulator.
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
                        description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                        example:
                          optional: metadata
                      termsOfService:
                        oneOf:
                          - type: object
                            required:
                              - token
                            properties:
                              token:
                                type: string
                                example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                            description: An encrypted value used to record acceptance of Moov's Terms of Service.
                            title: Token
                          - type: object
                            required:
                              - acceptedDate
                              - acceptedIP
                              - acceptedUserAgent
                              - acceptedDomain
                            properties:
                              acceptedDate:
                                type: string
                                format: date-time
                                description: The date and time the terms of service were accepted.
                              acceptedIP:
                                type: string
                                format: ipv4
                                description: The IP address from which the terms of service were accepted.
                                example: 172.217.2.46
                              acceptedUserAgent:
                                type: string
                                maxLength: 255
                                description: The user-agent of the user making the request.
                                example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                              acceptedDomain:
                                type: string
                                format: uri
                            description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                            title: Manual
                      foreignID:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        description: Optional alias from a foreign/external system which can be used to reference this resource.
                      customerSupport:
                        type: object
                        properties:
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          website:
                            type: string
                            format: uri
                        description: |-
                          User-provided information that can be displayed on credit card transactions for customers to use when
                          contacting a customer support team. This data is only allowed on a business account.
                      settings:
                        type: object
                        properties:
                          cardPayment:
                            type: object
                            properties:
                              statementDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                pattern: '[a-zA-Z0-9.!*-+_ ]+'
                                description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                                example: Whole Body Fitness
                            description: User provided settings to manage card payments. This data is only allowed on a business account.
                          achPayment:
                            type: object
                            required:
                              - companyName
                            properties:
                              companyName:
                                type: string
                                minLength: 1
                                maxLength: 16
                                pattern: '[a-zA-Z0-9- ]+'
                                description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                                example: WholeBodyFitness
                        description: User provided settings to manage an account.
                      capabilities:
                        type: array
                        items:
                          type: string
                          enum:
                            - transfers
                            - send-funds
                            - send-funds.push-to-card
                            - money-transfer.push-to-card
                            - send-funds.ach
                            - send-funds.rtp
                            - send-funds.instant-bank
                            - collect-funds
                            - collect-funds.card-payments
                            - money-transfer.pull-from-card
                            - collect-funds.ach
                            - wallet
                            - wallet.balance
                            - card-issuing
                            - production-app
                            - platform.production-app
                            - platform.wallet-transfers
                          description: |-
                            Moov account capabilities.

                            The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                      mode:
                        type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                    example:
                      accountType: business
                      profile:
                        business:
                          legalBusinessName: Whole Body Fitness LLC
                  partner:
                    type: object
                    required:
                      - accountID
                      - accountMode
                      - displayName
                    properties:
                      accountID:
                        type: string
                        format: uuid
                        description: The account ID of the partner that created the invite.
                      accountMode:
                        type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                      displayName:
                        type: string
                        description: The name of the Moov account used to create the onboarding invite.
                        example: Bob's Widgets
                    description: The account that created the onboarding invite.
                  createdOn:
                    type: string
                    format: date-time
                  revokedOn:
                    type: string
                    format: date-time
                  redeemedOn:
                    type: string
                    format: date-time
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  returnURL:
                    type: string
                  termsOfServiceURL:
                    type: string
                  scopes:
                    type: object
                    additionalProperties:
                      type: string
                    example:
                      '0': first element failed validation...
                  capabilities:
                    type: object
                    additionalProperties:
                      type: string
                    example:
                      '0': first element failed validation...
                  feePlanCodes:
                    type: object
                    additionalProperties:
                      type: string
                    example:
                      '0': first element failed validation...
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Onboarding
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - scopes
                - capabilities
                - feePlanCodes
              properties:
                returnURL:
                  type: string
                  format: uri
                  description: Optional URL to redirect the user to after they complete the onboarding process.
                termsOfServiceURL:
                  type: string
                  format: uri
                  description: Optional URL to your organization's terms of service.
                scopes:
                  type: array
                  items:
                    type: string
                    enum:
                      - accounts.read
                      - accounts.write
                      - analytics.read
                      - apple-pay-merchant.read
                      - apple-pay-merchant.write
                      - apple-pay.read
                      - apple-pay.write
                      - bank-accounts.read
                      - bank-accounts.write
                      - capabilities.read
                      - capabilities.write
                      - cards.read
                      - cards.write
                      - documents.read
                      - documents.write
                      - fed.read
                      - files.read
                      - files.write
                      - issued-cards.read
                      - issued-cards.write
                      - issued-cards.read-secure
                      - payment-methods.read
                      - ping.read
                      - profile-enrichment.read
                      - profile.read
                      - profile.write
                      - profile.disconnect
                      - representatives.read
                      - representatives.write
                      - transfers.read
                      - transfers.write
                      - wallets.read
                    description: A permission that the application requests on another account.
                  minItems: 1
                  description: |2-
                      List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
                      account. These values are used to determine what can be done with the account onboarded.
                  example:
                    - accounts.read
                capabilities:
                  type: array
                  items:
                    type: string
                    enum:
                      - transfers
                      - send-funds
                      - send-funds.push-to-card
                      - money-transfer.push-to-card
                      - send-funds.ach
                      - send-funds.rtp
                      - send-funds.instant-bank
                      - collect-funds
                      - collect-funds.card-payments
                      - money-transfer.pull-from-card
                      - collect-funds.ach
                      - wallet
                      - wallet.balance
                      - card-issuing
                      - production-app
                      - platform.production-app
                      - platform.wallet-transfers
                    description: |-
                      Moov account capabilities.

                      The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                  minItems: 1
                  description: |2-
                      List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
                      account. These values are used to determine what information to collect from the user during onboarding.
                  example:
                    - transfers
                feePlanCodes:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  description: List of fee plan codes to assign the account created by the invitee.
                  example:
                    - merchant-direct
                prefill:
                  type: object
                  required:
                    - accountType
                    - profile
                  properties:
                    accountType:
                      type: string
                      enum:
                        - individual
                        - business
                    profile:
                      type: object
                      properties:
                        individual:
                          type: object
                          required:
                            - name
                          properties:
                            name:
                              type: object
                              required:
                                - firstName
                                - lastName
                              properties:
                                firstName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's first given name.
                                  example: Jordan
                                middleName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's second given name, if any.
                                  example: Reese
                                lastName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: The individual's family name.
                                  example: Lee
                                suffix:
                                  type: string
                                  maxLength: 20
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                  description: Suffix of a given name.
                                  example: Jr
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            address:
                              type: object
                              required:
                                - addressLine1
                                - city
                                - stateOrProvince
                                - postalCode
                                - country
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: 123 Main Street
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Apt 302
                                city:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Boulder
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                  example: CO
                                postalCode:
                                  type: string
                                  maxLength: 5
                                  example: '80301'
                                country:
                                  type: string
                                  maxLength: 2
                                  example: US
                            birthDate:
                              type: object
                              required:
                                - day
                                - month
                                - year
                              properties:
                                day:
                                  type: integer
                                  example: 9
                                month:
                                  type: integer
                                  example: 11
                                year:
                                  type: integer
                                  example: 1989
                            governmentID:
                              type: object
                              properties:
                                ssn:
                                  type: object
                                  properties:
                                    full:
                                      type: string
                                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                    lastFour:
                                      type: string
                                itin:
                                  type: object
                                  properties:
                                    full:
                                      type: string
                                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                    lastFour:
                                      type: string
                        business:
                          type: object
                          required:
                            - legalBusinessName
                          properties:
                            legalBusinessName:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                              description: The legal name under which the entity is registered.
                              example: Classbooker, LLC
                            doingBusinessAs:
                              type: string
                              maxLength: 64
                              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                              description: A registered trade name under which the business operates, if different from its legal name.
                            businessType:
                              type: string
                              enum:
                                - soleProprietorship
                                - unincorporatedAssociation
                                - trust
                                - publicCorporation
                                - privateCorporation
                                - llc
                                - partnership
                                - unincorporatedNonProfit
                                - incorporatedNonProfit
                                - governmentEntity
                              description: The type of entity represented by this business.
                              example: llc
                            address:
                              type: object
                              required:
                                - addressLine1
                                - city
                                - stateOrProvince
                                - postalCode
                                - country
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: 123 Main Street
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Apt 302
                                city:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Boulder
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                  example: CO
                                postalCode:
                                  type: string
                                  maxLength: 5
                                  example: '80301'
                                country:
                                  type: string
                                  maxLength: 2
                                  example: US
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            website:
                              type: string
                              format: uri
                              maxLength: 100
                            description:
                              type: string
                              minLength: 10
                              maxLength: 100
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Local fitness gym paying out instructors
                            taxID:
                              type: object
                              required:
                                - ein
                              properties:
                                ein:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      example: 12-3456789
                                  required:
                                    - number
                              description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                            industryCodes:
                              type: object
                              properties:
                                naics:
                                  type: string
                                  minLength: 2
                                  maxLength: 6
                                  example: '713940'
                                sic:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  example: '7991'
                                mcc:
                                  type: string
                                  minLength: 4
                                  maxLength: 4
                                  example: '7997'
                            primaryRegulator:
                              type: string
                              enum:
                                - OCC
                                - FDIC
                                - NCUA
                                - FRB
                                - state-cu-regulator
                              description: If the business is a financial institution, this field describes its primary regulator.
                    metadata:
                      type: object
                      additionalProperties:
                        type: string
                      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                      example:
                        optional: metadata
                    termsOfService:
                      oneOf:
                        - type: object
                          required:
                            - token
                          properties:
                            token:
                              type: string
                              example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                          description: An encrypted value used to record acceptance of Moov's Terms of Service.
                          title: Token
                        - type: object
                          required:
                            - acceptedDate
                            - acceptedIP
                            - acceptedUserAgent
                            - acceptedDomain
                          properties:
                            acceptedDate:
                              type: string
                              format: date-time
                              description: The date and time the terms of service were accepted.
                            acceptedIP:
                              type: string
                              format: ipv4
                              description: The IP address from which the terms of service were accepted.
                              example: 172.217.2.46
                            acceptedUserAgent:
                              type: string
                              maxLength: 255
                              description: The user-agent of the user making the request.
                              example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                            acceptedDomain:
                              type: string
                              format: uri
                          description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                          title: Manual
                    foreignID:
                      type: string
                      maxLength: 64
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      description: Optional alias from a foreign/external system which can be used to reference this resource.
                    customerSupport:
                      type: object
                      properties:
                        phone:
                          type: object
                          properties:
                            number:
                              type: string
                              maxLength: 10
                              example: '8185551212'
                            countryCode:
                              type: string
                              maxLength: 1
                              example: '1'
                        email:
                          type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                        address:
                          type: object
                          required:
                            - addressLine1
                            - city
                            - stateOrProvince
                            - postalCode
                            - country
                          properties:
                            addressLine1:
                              type: string
                              maxLength: 60
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: 123 Main Street
                            addressLine2:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Apt 302
                            city:
                              type: string
                              maxLength: 32
                              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                              example: Boulder
                            stateOrProvince:
                              type: string
                              maxLength: 2
                              example: CO
                            postalCode:
                              type: string
                              maxLength: 5
                              example: '80301'
                            country:
                              type: string
                              maxLength: 2
                              example: US
                        website:
                          type: string
                          format: uri
                      description: |-
                        User-provided information that can be displayed on credit card transactions for customers to use when
                        contacting a customer support team. This data is only allowed on a business account.
                    settings:
                      type: object
                      properties:
                        cardPayment:
                          type: object
                          properties:
                            statementDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              pattern: '[a-zA-Z0-9.!*-+_ ]+'
                              description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                              example: Whole Body Fitness
                          description: User provided settings to manage card payments. This data is only allowed on a business account.
                        achPayment:
                          type: object
                          required:
                            - companyName
                          properties:
                            companyName:
                              type: string
                              minLength: 1
                              maxLength: 16
                              pattern: '[a-zA-Z0-9- ]+'
                              description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                              example: WholeBodyFitness
                      description: User provided settings to manage an account.
                    capabilities:
                      type: array
                      items:
                        type: string
                        enum:
                          - transfers
                          - send-funds
                          - send-funds.push-to-card
                          - money-transfer.push-to-card
                          - send-funds.ach
                          - send-funds.rtp
                          - send-funds.instant-bank
                          - collect-funds
                          - collect-funds.card-payments
                          - money-transfer.pull-from-card
                          - collect-funds.ach
                          - wallet
                          - wallet.balance
                          - card-issuing
                          - production-app
                          - platform.production-app
                          - platform.wallet-transfers
                        description: |-
                          Moov account capabilities.

                          The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                    mode:
                      type: string
                      enum:
                        - sandbox
                        - production
                      description: The operating mode for an account.
                      example: production
                  example:
                    accountType: business
                    profile:
                      business:
                        legalBusinessName: Whole Body Fitness LLC
              description: Request to create an onboarding invite.
      x-speakeasy-name-override: createInvite
      x-codeSamples:
        - lang: typescript
          label: createOnboardingInvite
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.onboarding.createInvite({
                scopes: [
                  "accounts.read",
                ],
                capabilities: [
                  "transfers",
                ],
                feePlanCodes: [
                  "merchant-direct",
                ],
                prefill: {
                  accountType: "business",
                  profile: {
                    business: {
                      legalBusinessName: "Whole Body Fitness LLC",
                    },
                  },
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createOnboardingInvite
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $onboardingInviteRequest = new Components\OnboardingInviteRequest(
                scopes: [
                    Components\ApplicationScope::AccountsRead,
                ],
                capabilities: [
                    Components\CapabilityID::Transfers,
                ],
                feePlanCodes: [
                    'merchant-direct',
                ],
                prefill: new Components\CreateAccount(
                    accountType: Components\CreateAccountType::Business,
                    profile: new Components\CreateProfile(
                        business: new Components\CreateBusinessProfile(
                            legalBusinessName: 'Whole Body Fitness LLC',
                        ),
                    ),
                ),
            );

            $response = $sdk->onboarding->createInvite(
                onboardingInviteRequest: $onboardingInviteRequest
            );

            if ($response->onboardingInvite !== null) {
                // handle response
            }
        - lang: python
          label: createOnboardingInvite
          source: |-
            from openapi import SDK, models


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.onboarding.create_invite(scopes=[
                    "accounts.read",
                ], capabilities=[
                    "transfers",
                ], fee_plan_codes=[
                    "merchant-direct",
                ], prefill=models.CreateAccount(
                    account_type="business",
                    profile=models.CreateProfile(
                        business=models.CreateBusinessProfile(
                            legal_business_name="Whole Body Fitness LLC",
                        ),
                    ),
                ))

                # Handle response
                print(res)
        - lang: java
          label: createOnboardingInvite
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.*;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.OnboardingInviteError;
            import org.openapis.openapi.models.operations.CreateOnboardingInviteResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, OnboardingInviteError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    OnboardingInviteRequest req = OnboardingInviteRequest.builder()
                            .scopes(List.of(
                                ApplicationScope.ACCOUNTS_READ))
                            .capabilities(List.of(
                                CapabilityID.TRANSFERS))
                            .feePlanCodes(List.of(
                                "merchant-direct"))
                            .prefill(CreateAccount.builder()
                                .accountType(CreateAccountType.BUSINESS)
                                .profile(CreateProfile.builder()
                                    .business(CreateBusinessProfile.builder()
                                        .legalBusinessName("Whole Body Fitness LLC")
                                        .build())
                                    .build())
                                .build())
                            .build();

                    CreateOnboardingInviteResponse res = sdk.onboarding().createInvite()
                            .request(req)
                            .call();

                    if (res.onboardingInvite().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createOnboardingInvite
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.onboarding.create_invite(onboarding_invite_request: Models::Components::OnboardingInviteRequest.new(
              scopes: [
                Models::Components::ApplicationScope::ACCOUNTS_READ,
              ],
              capabilities: [
                Models::Components::CapabilityID::TRANSFERS,
              ],
              fee_plan_codes: [
                'merchant-direct',
              ],
              prefill: Models::Components::CreateAccount.new(
                account_type: Models::Components::CreateAccountType::BUSINESS,
                profile: Models::Components::CreateProfile.new(
                  business: Models::Components::CreateBusinessProfile.new(
                    legal_business_name: 'Whole Body Fitness LLC',
                  ),
                ),
              ),
            ))

            unless res.onboarding_invite.nil?
              # handle response
            end
    get:
      operationId: listOnboardingInvites
      description: |-
        List all the onboarding invites created by the caller's account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - code
                    - link
                    - scopes
                    - capabilities
                    - feePlanCodes
                    - createdOn
                  properties:
                    code:
                      type: string
                      description: A unique code that identifies an onboarding invite.
                      example: N1IA5eWYNh
                    link:
                      type: string
                      format: uri
                      description: A unique URL, including the invite code, that the recipient can follow to redeem the invitation.
                    returnURL:
                      type: string
                      description: The scopes requested by the inviter.
                    termsOfServiceURL:
                      type: string
                      description: The terms of service URL set by the inviter.
                    scopes:
                      type: array
                      items:
                        type: string
                        enum:
                          - accounts.read
                          - accounts.write
                          - analytics.read
                          - apple-pay-merchant.read
                          - apple-pay-merchant.write
                          - apple-pay.read
                          - apple-pay.write
                          - bank-accounts.read
                          - bank-accounts.write
                          - capabilities.read
                          - capabilities.write
                          - cards.read
                          - cards.write
                          - documents.read
                          - documents.write
                          - fed.read
                          - files.read
                          - files.write
                          - issued-cards.read
                          - issued-cards.write
                          - issued-cards.read-secure
                          - payment-methods.read
                          - ping.read
                          - profile-enrichment.read
                          - profile.read
                          - profile.write
                          - profile.disconnect
                          - representatives.read
                          - representatives.write
                          - transfers.read
                          - transfers.write
                          - wallets.read
                        description: A permission that the application requests on another account.
                      minItems: 1
                      description: |-
                        List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
                        account. These values are used to determine what can be done with the account onboarded.
                      example:
                        - accounts.read
                    capabilities:
                      type: array
                      items:
                        type: string
                        enum:
                          - transfers
                          - send-funds
                          - send-funds.push-to-card
                          - money-transfer.push-to-card
                          - send-funds.ach
                          - send-funds.rtp
                          - send-funds.instant-bank
                          - collect-funds
                          - collect-funds.card-payments
                          - money-transfer.pull-from-card
                          - collect-funds.ach
                          - wallet
                          - wallet.balance
                          - card-issuing
                          - production-app
                          - platform.production-app
                          - platform.wallet-transfers
                        description: |-
                          Moov account capabilities.

                          The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                      minItems: 1
                      description: |2-
                          List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
                          account. These values are used to determine what information to collect from the user during onboarding.
                      example:
                        - transfers
                    feePlanCodes:
                      type: array
                      items:
                        type: string
                      minItems: 1
                      description: List of fee plan codes to assign the account created by the invitee.
                      example:
                        - merchant-direct
                    redeemedAccountID:
                      type: string
                      format: uuid
                      description: The account ID of the account that redeemed the invite.
                    prefill:
                      type: object
                      required:
                        - accountType
                        - profile
                      properties:
                        accountType:
                          type: string
                          enum:
                            - individual
                            - business
                        profile:
                          type: object
                          properties:
                            individual:
                              type: object
                              required:
                                - name
                              properties:
                                name:
                                  type: object
                                  required:
                                    - firstName
                                    - lastName
                                  properties:
                                    firstName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's first given name.
                                      example: Jordan
                                    middleName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's second given name, if any.
                                      example: Reese
                                    lastName:
                                      type: string
                                      maxLength: 64
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: The individual's family name.
                                      example: Lee
                                    suffix:
                                      type: string
                                      maxLength: 20
                                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                      description: Suffix of a given name.
                                      example: Jr
                                phone:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      maxLength: 10
                                      example: '8185551212'
                                    countryCode:
                                      type: string
                                      maxLength: 1
                                      example: '1'
                                email:
                                  type: string
                                  maxLength: 255
                                  format: email
                                  example: jordan.lee@classbooker.dev
                                address:
                                  type: object
                                  required:
                                    - addressLine1
                                    - city
                                    - stateOrProvince
                                    - postalCode
                                    - country
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: 123 Main Street
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Apt 302
                                    city:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Boulder
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                      example: CO
                                    postalCode:
                                      type: string
                                      maxLength: 5
                                      example: '80301'
                                    country:
                                      type: string
                                      maxLength: 2
                                      example: US
                                birthDate:
                                  type: object
                                  required:
                                    - day
                                    - month
                                    - year
                                  properties:
                                    day:
                                      type: integer
                                      example: 9
                                    month:
                                      type: integer
                                      example: 11
                                    year:
                                      type: integer
                                      example: 1989
                                governmentID:
                                  type: object
                                  properties:
                                    ssn:
                                      type: object
                                      properties:
                                        full:
                                          type: string
                                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                        lastFour:
                                          type: string
                                    itin:
                                      type: object
                                      properties:
                                        full:
                                          type: string
                                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                        lastFour:
                                          type: string
                            business:
                              type: object
                              required:
                                - legalBusinessName
                              properties:
                                legalBusinessName:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                  description: The legal name under which the entity is registered.
                                  example: Classbooker, LLC
                                doingBusinessAs:
                                  type: string
                                  maxLength: 64
                                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                  description: A registered trade name under which the business operates, if different from its legal name.
                                businessType:
                                  type: string
                                  enum:
                                    - soleProprietorship
                                    - unincorporatedAssociation
                                    - trust
                                    - publicCorporation
                                    - privateCorporation
                                    - llc
                                    - partnership
                                    - unincorporatedNonProfit
                                    - incorporatedNonProfit
                                    - governmentEntity
                                  description: The type of entity represented by this business.
                                  example: llc
                                address:
                                  type: object
                                  required:
                                    - addressLine1
                                    - city
                                    - stateOrProvince
                                    - postalCode
                                    - country
                                  properties:
                                    addressLine1:
                                      type: string
                                      maxLength: 60
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: 123 Main Street
                                    addressLine2:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Apt 302
                                    city:
                                      type: string
                                      maxLength: 32
                                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                      example: Boulder
                                    stateOrProvince:
                                      type: string
                                      maxLength: 2
                                      example: CO
                                    postalCode:
                                      type: string
                                      maxLength: 5
                                      example: '80301'
                                    country:
                                      type: string
                                      maxLength: 2
                                      example: US
                                phone:
                                  type: object
                                  properties:
                                    number:
                                      type: string
                                      maxLength: 10
                                      example: '8185551212'
                                    countryCode:
                                      type: string
                                      maxLength: 1
                                      example: '1'
                                email:
                                  type: string
                                  maxLength: 255
                                  format: email
                                  example: jordan.lee@classbooker.dev
                                website:
                                  type: string
                                  format: uri
                                  maxLength: 100
                                description:
                                  type: string
                                  minLength: 10
                                  maxLength: 100
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Local fitness gym paying out instructors
                                taxID:
                                  type: object
                                  required:
                                    - ein
                                  properties:
                                    ein:
                                      type: object
                                      properties:
                                        number:
                                          type: string
                                          example: 12-3456789
                                      required:
                                        - number
                                  description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                                industryCodes:
                                  type: object
                                  properties:
                                    naics:
                                      type: string
                                      minLength: 2
                                      maxLength: 6
                                      example: '713940'
                                    sic:
                                      type: string
                                      minLength: 4
                                      maxLength: 4
                                      example: '7991'
                                    mcc:
                                      type: string
                                      minLength: 4
                                      maxLength: 4
                                      example: '7997'
                                primaryRegulator:
                                  type: string
                                  enum:
                                    - OCC
                                    - FDIC
                                    - NCUA
                                    - FRB
                                    - state-cu-regulator
                                  description: If the business is a financial institution, this field describes its primary regulator.
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                          example:
                            optional: metadata
                        termsOfService:
                          oneOf:
                            - type: object
                              required:
                                - token
                              properties:
                                token:
                                  type: string
                                  example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                              description: An encrypted value used to record acceptance of Moov's Terms of Service.
                              title: Token
                            - type: object
                              required:
                                - acceptedDate
                                - acceptedIP
                                - acceptedUserAgent
                                - acceptedDomain
                              properties:
                                acceptedDate:
                                  type: string
                                  format: date-time
                                  description: The date and time the terms of service were accepted.
                                acceptedIP:
                                  type: string
                                  format: ipv4
                                  description: The IP address from which the terms of service were accepted.
                                  example: 172.217.2.46
                                acceptedUserAgent:
                                  type: string
                                  maxLength: 255
                                  description: The user-agent of the user making the request.
                                  example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                                acceptedDomain:
                                  type: string
                                  format: uri
                              description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                              title: Manual
                        foreignID:
                          type: string
                          maxLength: 64
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          description: Optional alias from a foreign/external system which can be used to reference this resource.
                        customerSupport:
                          type: object
                          properties:
                            phone:
                              type: object
                              properties:
                                number:
                                  type: string
                                  maxLength: 10
                                  example: '8185551212'
                                countryCode:
                                  type: string
                                  maxLength: 1
                                  example: '1'
                            email:
                              type: string
                              maxLength: 255
                              format: email
                              example: jordan.lee@classbooker.dev
                            address:
                              type: object
                              required:
                                - addressLine1
                                - city
                                - stateOrProvince
                                - postalCode
                                - country
                              properties:
                                addressLine1:
                                  type: string
                                  maxLength: 60
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: 123 Main Street
                                addressLine2:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Apt 302
                                city:
                                  type: string
                                  maxLength: 32
                                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                  example: Boulder
                                stateOrProvince:
                                  type: string
                                  maxLength: 2
                                  example: CO
                                postalCode:
                                  type: string
                                  maxLength: 5
                                  example: '80301'
                                country:
                                  type: string
                                  maxLength: 2
                                  example: US
                            website:
                              type: string
                              format: uri
                          description: |-
                            User-provided information that can be displayed on credit card transactions for customers to use when
                            contacting a customer support team. This data is only allowed on a business account.
                        settings:
                          type: object
                          properties:
                            cardPayment:
                              type: object
                              properties:
                                statementDescriptor:
                                  type: string
                                  minLength: 4
                                  maxLength: 22
                                  pattern: '[a-zA-Z0-9.!*-+_ ]+'
                                  description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                                  example: Whole Body Fitness
                              description: User provided settings to manage card payments. This data is only allowed on a business account.
                            achPayment:
                              type: object
                              required:
                                - companyName
                              properties:
                                companyName:
                                  type: string
                                  minLength: 1
                                  maxLength: 16
                                  pattern: '[a-zA-Z0-9- ]+'
                                  description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                                  example: WholeBodyFitness
                          description: User provided settings to manage an account.
                        capabilities:
                          type: array
                          items:
                            type: string
                            enum:
                              - transfers
                              - send-funds
                              - send-funds.push-to-card
                              - money-transfer.push-to-card
                              - send-funds.ach
                              - send-funds.rtp
                              - send-funds.instant-bank
                              - collect-funds
                              - collect-funds.card-payments
                              - money-transfer.pull-from-card
                              - collect-funds.ach
                              - wallet
                              - wallet.balance
                              - card-issuing
                              - production-app
                              - platform.production-app
                              - platform.wallet-transfers
                            description: |-
                              Moov account capabilities.

                              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                        mode:
                          type: string
                          enum:
                            - sandbox
                            - production
                          description: The operating mode for an account.
                          example: production
                      example:
                        accountType: business
                        profile:
                          business:
                            legalBusinessName: Whole Body Fitness LLC
                    partner:
                      type: object
                      required:
                        - accountID
                        - accountMode
                        - displayName
                      properties:
                        accountID:
                          type: string
                          format: uuid
                          description: The account ID of the partner that created the invite.
                        accountMode:
                          type: string
                          enum:
                            - sandbox
                            - production
                          description: The operating mode for an account.
                          example: production
                        displayName:
                          type: string
                          description: The name of the Moov account used to create the onboarding invite.
                          example: Bob's Widgets
                      description: The account that created the onboarding invite.
                    createdOn:
                      type: string
                      format: date-time
                    revokedOn:
                      type: string
                      format: date-time
                    redeemedOn:
                      type: string
                      format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Onboarding
      x-speakeasy-name-override: listInvites
      x-codeSamples:
        - lang: typescript
          label: listOnboardingInvites
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.onboarding.listInvites();

              console.log(result);
            }

            run();
        - lang: php
          label: listOnboardingInvites
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->onboarding->listInvites(

            );

            if ($response->onboardingInvites !== null) {
                // handle response
            }
        - lang: python
          label: listOnboardingInvites
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.onboarding.list_invites()

                # Handle response
                print(res)
        - lang: java
          label: listOnboardingInvites
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListOnboardingInvitesResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListOnboardingInvitesResponse res = sdk.onboarding().listInvites()
                            .call();

                    if (res.onboardingInvites().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listOnboardingInvites
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.onboarding.list_invites()

            unless res.onboarding_invites.nil?
              # handle response
            end
  /onboarding-invites/{code}:
    get:
      operationId: getOnboardingInvite
      description: |-
        Retrieve details about an onboarding invite.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: code
          in: path
          required: true
          schema:
            type: string
            description: A unique code that identifies an onboarding invite.
            example: N1IA5eWYNh
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - link
                  - scopes
                  - capabilities
                  - feePlanCodes
                  - createdOn
                properties:
                  code:
                    type: string
                    description: A unique code that identifies an onboarding invite.
                    example: N1IA5eWYNh
                  link:
                    type: string
                    format: uri
                    description: A unique URL, including the invite code, that the recipient can follow to redeem the invitation.
                  returnURL:
                    type: string
                    description: The scopes requested by the inviter.
                  termsOfServiceURL:
                    type: string
                    description: The terms of service URL set by the inviter.
                  scopes:
                    type: array
                    items:
                      type: string
                      enum:
                        - accounts.read
                        - accounts.write
                        - analytics.read
                        - apple-pay-merchant.read
                        - apple-pay-merchant.write
                        - apple-pay.read
                        - apple-pay.write
                        - bank-accounts.read
                        - bank-accounts.write
                        - capabilities.read
                        - capabilities.write
                        - cards.read
                        - cards.write
                        - documents.read
                        - documents.write
                        - fed.read
                        - files.read
                        - files.write
                        - issued-cards.read
                        - issued-cards.write
                        - issued-cards.read-secure
                        - payment-methods.read
                        - ping.read
                        - profile-enrichment.read
                        - profile.read
                        - profile.write
                        - profile.disconnect
                        - representatives.read
                        - representatives.write
                        - transfers.read
                        - transfers.write
                        - wallets.read
                      description: A permission that the application requests on another account.
                    minItems: 1
                    description: |-
                      List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
                      account. These values are used to determine what can be done with the account onboarded.
                    example:
                      - accounts.read
                  capabilities:
                    type: array
                    items:
                      type: string
                      enum:
                        - transfers
                        - send-funds
                        - send-funds.push-to-card
                        - money-transfer.push-to-card
                        - send-funds.ach
                        - send-funds.rtp
                        - send-funds.instant-bank
                        - collect-funds
                        - collect-funds.card-payments
                        - money-transfer.pull-from-card
                        - collect-funds.ach
                        - wallet
                        - wallet.balance
                        - card-issuing
                        - production-app
                        - platform.production-app
                        - platform.wallet-transfers
                      description: |-
                        Moov account capabilities.

                        The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                    minItems: 1
                    description: |2-
                        List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
                        account. These values are used to determine what information to collect from the user during onboarding.
                    example:
                      - transfers
                  feePlanCodes:
                    type: array
                    items:
                      type: string
                    minItems: 1
                    description: List of fee plan codes to assign the account created by the invitee.
                    example:
                      - merchant-direct
                  redeemedAccountID:
                    type: string
                    format: uuid
                    description: The account ID of the account that redeemed the invite.
                  prefill:
                    type: object
                    required:
                      - accountType
                      - profile
                    properties:
                      accountType:
                        type: string
                        enum:
                          - individual
                          - business
                      profile:
                        type: object
                        properties:
                          individual:
                            type: object
                            required:
                              - name
                            properties:
                              name:
                                type: object
                                required:
                                  - firstName
                                  - lastName
                                properties:
                                  firstName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's first given name.
                                    example: Jordan
                                  middleName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's second given name, if any.
                                    example: Reese
                                  lastName:
                                    type: string
                                    maxLength: 64
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: The individual's family name.
                                    example: Lee
                                  suffix:
                                    type: string
                                    maxLength: 20
                                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                                    description: Suffix of a given name.
                                    example: Jr
                              phone:
                                type: object
                                properties:
                                  number:
                                    type: string
                                    maxLength: 10
                                    example: '8185551212'
                                  countryCode:
                                    type: string
                                    maxLength: 1
                                    example: '1'
                              email:
                                type: string
                                maxLength: 255
                                format: email
                                example: jordan.lee@classbooker.dev
                              address:
                                type: object
                                required:
                                  - addressLine1
                                  - city
                                  - stateOrProvince
                                  - postalCode
                                  - country
                                properties:
                                  addressLine1:
                                    type: string
                                    maxLength: 60
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: 123 Main Street
                                  addressLine2:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Apt 302
                                  city:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Boulder
                                  stateOrProvince:
                                    type: string
                                    maxLength: 2
                                    example: CO
                                  postalCode:
                                    type: string
                                    maxLength: 5
                                    example: '80301'
                                  country:
                                    type: string
                                    maxLength: 2
                                    example: US
                              birthDate:
                                type: object
                                required:
                                  - day
                                  - month
                                  - year
                                properties:
                                  day:
                                    type: integer
                                    example: 9
                                  month:
                                    type: integer
                                    example: 11
                                  year:
                                    type: integer
                                    example: 1989
                              governmentID:
                                type: object
                                properties:
                                  ssn:
                                    type: object
                                    properties:
                                      full:
                                        type: string
                                        pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                      lastFour:
                                        type: string
                                  itin:
                                    type: object
                                    properties:
                                      full:
                                        type: string
                                        pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                                      lastFour:
                                        type: string
                          business:
                            type: object
                            required:
                              - legalBusinessName
                            properties:
                              legalBusinessName:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                description: The legal name under which the entity is registered.
                                example: Classbooker, LLC
                              doingBusinessAs:
                                type: string
                                maxLength: 64
                                pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                                description: A registered trade name under which the business operates, if different from its legal name.
                              businessType:
                                type: string
                                enum:
                                  - soleProprietorship
                                  - unincorporatedAssociation
                                  - trust
                                  - publicCorporation
                                  - privateCorporation
                                  - llc
                                  - partnership
                                  - unincorporatedNonProfit
                                  - incorporatedNonProfit
                                  - governmentEntity
                                description: The type of entity represented by this business.
                                example: llc
                              address:
                                type: object
                                required:
                                  - addressLine1
                                  - city
                                  - stateOrProvince
                                  - postalCode
                                  - country
                                properties:
                                  addressLine1:
                                    type: string
                                    maxLength: 60
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: 123 Main Street
                                  addressLine2:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Apt 302
                                  city:
                                    type: string
                                    maxLength: 32
                                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                    example: Boulder
                                  stateOrProvince:
                                    type: string
                                    maxLength: 2
                                    example: CO
                                  postalCode:
                                    type: string
                                    maxLength: 5
                                    example: '80301'
                                  country:
                                    type: string
                                    maxLength: 2
                                    example: US
                              phone:
                                type: object
                                properties:
                                  number:
                                    type: string
                                    maxLength: 10
                                    example: '8185551212'
                                  countryCode:
                                    type: string
                                    maxLength: 1
                                    example: '1'
                              email:
                                type: string
                                maxLength: 255
                                format: email
                                example: jordan.lee@classbooker.dev
                              website:
                                type: string
                                format: uri
                                maxLength: 100
                              description:
                                type: string
                                minLength: 10
                                maxLength: 100
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Local fitness gym paying out instructors
                              taxID:
                                type: object
                                required:
                                  - ein
                                properties:
                                  ein:
                                    type: object
                                    properties:
                                      number:
                                        type: string
                                        example: 12-3456789
                                    required:
                                      - number
                                description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                              industryCodes:
                                type: object
                                properties:
                                  naics:
                                    type: string
                                    minLength: 2
                                    maxLength: 6
                                    example: '713940'
                                  sic:
                                    type: string
                                    minLength: 4
                                    maxLength: 4
                                    example: '7991'
                                  mcc:
                                    type: string
                                    minLength: 4
                                    maxLength: 4
                                    example: '7997'
                              primaryRegulator:
                                type: string
                                enum:
                                  - OCC
                                  - FDIC
                                  - NCUA
                                  - FRB
                                  - state-cu-regulator
                                description: If the business is a financial institution, this field describes its primary regulator.
                      metadata:
                        type: object
                        additionalProperties:
                          type: string
                        description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
                        example:
                          optional: metadata
                      termsOfService:
                        oneOf:
                          - type: object
                            required:
                              - token
                            properties:
                              token:
                                type: string
                                example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                            description: An encrypted value used to record acceptance of Moov's Terms of Service.
                            title: Token
                          - type: object
                            required:
                              - acceptedDate
                              - acceptedIP
                              - acceptedUserAgent
                              - acceptedDomain
                            properties:
                              acceptedDate:
                                type: string
                                format: date-time
                                description: The date and time the terms of service were accepted.
                              acceptedIP:
                                type: string
                                format: ipv4
                                description: The IP address from which the terms of service were accepted.
                                example: 172.217.2.46
                              acceptedUserAgent:
                                type: string
                                maxLength: 255
                                description: The user-agent of the user making the request.
                                example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                              acceptedDomain:
                                type: string
                                format: uri
                            description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                            title: Manual
                      foreignID:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        description: Optional alias from a foreign/external system which can be used to reference this resource.
                      customerSupport:
                        type: object
                        properties:
                          phone:
                            type: object
                            properties:
                              number:
                                type: string
                                maxLength: 10
                                example: '8185551212'
                              countryCode:
                                type: string
                                maxLength: 1
                                example: '1'
                          email:
                            type: string
                            maxLength: 255
                            format: email
                            example: jordan.lee@classbooker.dev
                          address:
                            type: object
                            required:
                              - addressLine1
                              - city
                              - stateOrProvince
                              - postalCode
                              - country
                            properties:
                              addressLine1:
                                type: string
                                maxLength: 60
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: 123 Main Street
                              addressLine2:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Apt 302
                              city:
                                type: string
                                maxLength: 32
                                pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                                example: Boulder
                              stateOrProvince:
                                type: string
                                maxLength: 2
                                example: CO
                              postalCode:
                                type: string
                                maxLength: 5
                                example: '80301'
                              country:
                                type: string
                                maxLength: 2
                                example: US
                          website:
                            type: string
                            format: uri
                        description: |-
                          User-provided information that can be displayed on credit card transactions for customers to use when
                          contacting a customer support team. This data is only allowed on a business account.
                      settings:
                        type: object
                        properties:
                          cardPayment:
                            type: object
                            properties:
                              statementDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                pattern: '[a-zA-Z0-9.!*-+_ ]+'
                                description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                                example: Whole Body Fitness
                            description: User provided settings to manage card payments. This data is only allowed on a business account.
                          achPayment:
                            type: object
                            required:
                              - companyName
                            properties:
                              companyName:
                                type: string
                                minLength: 1
                                maxLength: 16
                                pattern: '[a-zA-Z0-9- ]+'
                                description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                                example: WholeBodyFitness
                        description: User provided settings to manage an account.
                      capabilities:
                        type: array
                        items:
                          type: string
                          enum:
                            - transfers
                            - send-funds
                            - send-funds.push-to-card
                            - money-transfer.push-to-card
                            - send-funds.ach
                            - send-funds.rtp
                            - send-funds.instant-bank
                            - collect-funds
                            - collect-funds.card-payments
                            - money-transfer.pull-from-card
                            - collect-funds.ach
                            - wallet
                            - wallet.balance
                            - card-issuing
                            - production-app
                            - platform.production-app
                            - platform.wallet-transfers
                          description: |-
                            Moov account capabilities.

                            The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                      mode:
                        type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                    example:
                      accountType: business
                      profile:
                        business:
                          legalBusinessName: Whole Body Fitness LLC
                  partner:
                    type: object
                    required:
                      - accountID
                      - accountMode
                      - displayName
                    properties:
                      accountID:
                        type: string
                        format: uuid
                        description: The account ID of the partner that created the invite.
                      accountMode:
                        type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                      displayName:
                        type: string
                        description: The name of the Moov account used to create the onboarding invite.
                        example: Bob's Widgets
                    description: The account that created the onboarding invite.
                  createdOn:
                    type: string
                    format: date-time
                  revokedOn:
                    type: string
                    format: date-time
                  redeemedOn:
                    type: string
                    format: date-time
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Onboarding
      x-speakeasy-name-override: getInvite
      x-codeSamples:
        - lang: typescript
          label: getOnboardingInvite
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.onboarding.getInvite({
                code: "N1IA5eWYNh",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getOnboardingInvite
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->onboarding->getInvite(
                code: 'N1IA5eWYNh'
            );

            if ($response->onboardingInvite !== null) {
                // handle response
            }
        - lang: python
          label: getOnboardingInvite
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.onboarding.get_invite(code="N1IA5eWYNh")

                # Handle response
                print(res)
        - lang: java
          label: getOnboardingInvite
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetOnboardingInviteResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetOnboardingInviteResponse res = sdk.onboarding().getInvite()
                            .code("N1IA5eWYNh")
                            .call();

                    if (res.onboardingInvite().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getOnboardingInvite
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.onboarding.get_invite(code: 'N1IA5eWYNh')

            unless res.onboarding_invite.nil?
              # handle response
            end
    delete:
      operationId: revokeOnboardingInvite
      description: |-
        Revoke an onboarding invite, rendering the invitation link unusable.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: code
          in: path
          required: true
          schema:
            type: string
            description: A unique code that identifies an onboarding invite.
            example: N1IA5eWYNh
      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
                format: uuid
      tags:
        - Onboarding
      x-speakeasy-name-override: revokeInvite
      x-codeSamples:
        - lang: typescript
          label: revokeOnboardingInvite
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.onboarding.revokeInvite({
                code: "N1IA5eWYNh",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: revokeOnboardingInvite
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->onboarding->revokeInvite(
                code: 'N1IA5eWYNh'
            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: revokeOnboardingInvite
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.onboarding.revoke_invite(code="N1IA5eWYNh")

                # Handle response
                print(res)
        - lang: java
          label: revokeOnboardingInvite
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.RevokeOnboardingInviteResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    RevokeOnboardingInviteResponse res = sdk.onboarding().revokeInvite()
                            .code("N1IA5eWYNh")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: revokeOnboardingInvite
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.onboarding.revoke_invite(code: 'N1IA5eWYNh')

            if res.status_code == 200
              # handle response
            end
  /ping:
    get:
      operationId: ping
      description: |-
        A simple endpoint to check auth.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/ping.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Ping
      x-codeSamples:
        - lang: typescript
          label: ping
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.ping.ping();

              console.log(result);
            }

            run();
        - lang: php
          label: ping
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->ping->ping(

            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: ping
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.ping.ping()

                # Handle response
                print(res)
        - lang: java
          label: ping
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.PingResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    PingResponse res = sdk.ping().ping()
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: ping
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.ping.ping()

            if res.status_code == 200
              # handle response
            end
  /receipts:
    post:
      operationId: createReceipts
      description: |2-
         Create receipts for transfers and scheduled transfers.

         To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
         you'll need to specify the `/accounts/{accountID}/transfers.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - receiptID
                    - createdBy
                    - kind
                  properties:
                    receiptID:
                      type: string
                      format: uuid
                      description: Unique identifier for the receipt request.
                    createdBy:
                      type: string
                      format: uuid
                      description: AccountID for which the receipt request was created.
                    disabledOn:
                      type: string
                      format: date-time
                      description: The date and time the receipt was disabled.
                      example: 2025-11-10T23:00:000Z
                    kind:
                      allOf:
                        - type: string
                          enum:
                            - sale.customer.v1
                          description: The type of receipt being requested.
                      description: The type of receipt.
                    email:
                      allOf:
                        - type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                      description: |-
                        The email address the receipt is sent to.
                        Either email or emailAccountID will be in the response, but not both.
                    emailAccountID:
                      type: string
                      format: uuid
                      description: |-
                        The accountID the receipt is sent to.
                        Either email or emailAccountID will be in the response, but not both.
                    forTransferID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the transfer associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    forScheduleID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the schedule associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    forOccurrenceID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the schedule occurrence associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    sentFor:
                      type: array
                      items:
                        type: object
                        required:
                          - receiptID
                          - idempotencyKey
                          - sentOn
                        properties:
                          receiptID:
                            type: string
                            format: uuid
                            description: Unique identifier for the receipt.
                          idempotencyKey:
                            type: string
                            format: uuid
                            description: The idempotency key used when creating the receipt.
                          sentOn:
                            type: string
                            format: date-time
                            description: When the receipt was sent.
                            example: 2025-11-10T23:00:000Z
                      description: The list of receipts that have been sent.
                  example:
                    createdBy: 25a02396-1048-48f9-bf93-102d2fb7895e
                    receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
                    forTransferID: 193ceb53-94c7-41c4-9272-c90c2832cb4c
                    kind: sale.customer.v1
                    email: jordan.lee@classbooker.dev
                    sentFor:
                      - idempotencyKey: 0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1
                        receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
                        sentOn: '2025-01-16T17:52:14.219311143Z'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    kind:
                      type: string
                    email:
                      type: string
                    emailAccountID:
                      type: string
                    forTransferID:
                      type: string
                    forScheduleID:
                      type: string
                    forOccurrenceID:
                      type: string
                example:
                  '0':
                    kind: cannot be blank
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Receipts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                required:
                  - kind
                properties:
                  kind:
                    allOf:
                      - type: string
                        enum:
                          - sale.customer.v1
                        description: The type of receipt being requested.
                    example: sale.customer.v1
                  email:
                    allOf:
                      - type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                    description: |-
                      The email address to send the receipt to.
                      Either email or emailAccountID must be provided, but not both.
                  emailAccountID:
                    type: string
                    format: uuid
                    description: |-
                      The accountID to send the receipt to.
                      Either email or emailAccountID must be provided, but not both.
                  forTransferID:
                    type: string
                    format: uuid
                    description: |-
                      The ID of the transfer associated with this receipt.
                      Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                  forScheduleID:
                    type: string
                    format: uuid
                    description: |-
                      The ID of the schedule associated with this receipt.
                      Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                  forOccurrenceID:
                    type: string
                    format: uuid
                    description: |-
                      The ID of the schedule occurrence associated with this receipt.
                      Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                description: A receipt request for a specific transfer, schedule, or schedule occurrence.
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createReceipts
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.receipts.create([]);

              console.log(result);
            }

            run();
        - lang: php
          label: createReceipts
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->receipts->create(
                requestBody: []
            );

            if ($response->receiptResponses !== null) {
                // handle response
            }
        - lang: python
          label: createReceipts
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.receipts.create(request=[])

                # Handle response
                print(res)
        - lang: java
          label: createReceipts
          source: |-
            package hello.world;

            import java.lang.Exception;
            import java.util.List;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.ReceiptRequest;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.CreateReceiptsResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    List<ReceiptRequest> req = List.of();

                    CreateReceiptsResponse res = sdk.receipts().create()
                            .request(req)
                            .call();

                    if (res.receiptResponses().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createReceipts
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.receipts.create(request_body: [])

            unless res.receipt_responses.nil?
              # handle response
            end
    get:
      operationId: listReceipts
      description: |-
        List receipts by transferID, scheduleID, or occurrenceID.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: id
          in: query
          required: true
          description: The transfer, schedule, or transfer occurrence ID to filter receipts by.
          schema:
            type: string
            format: 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
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - receiptID
                    - createdBy
                    - kind
                  properties:
                    receiptID:
                      type: string
                      format: uuid
                      description: Unique identifier for the receipt request.
                    createdBy:
                      type: string
                      format: uuid
                      description: AccountID for which the receipt request was created.
                    disabledOn:
                      type: string
                      format: date-time
                      description: The date and time the receipt was disabled.
                      example: 2025-11-10T23:00:000Z
                    kind:
                      allOf:
                        - type: string
                          enum:
                            - sale.customer.v1
                          description: The type of receipt being requested.
                      description: The type of receipt.
                    email:
                      allOf:
                        - type: string
                          maxLength: 255
                          format: email
                          example: jordan.lee@classbooker.dev
                      description: |-
                        The email address the receipt is sent to.
                        Either email or emailAccountID will be in the response, but not both.
                    emailAccountID:
                      type: string
                      format: uuid
                      description: |-
                        The accountID the receipt is sent to.
                        Either email or emailAccountID will be in the response, but not both.
                    forTransferID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the transfer associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    forScheduleID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the schedule associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    forOccurrenceID:
                      type: string
                      format: uuid
                      description: |-
                        The ID of the schedule occurrence associated with this receipt.
                        Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
                    sentFor:
                      type: array
                      items:
                        type: object
                        required:
                          - receiptID
                          - idempotencyKey
                          - sentOn
                        properties:
                          receiptID:
                            type: string
                            format: uuid
                            description: Unique identifier for the receipt.
                          idempotencyKey:
                            type: string
                            format: uuid
                            description: The idempotency key used when creating the receipt.
                          sentOn:
                            type: string
                            format: date-time
                            description: When the receipt was sent.
                            example: 2025-11-10T23:00:000Z
                      description: The list of receipts that have been sent.
                  example:
                    createdBy: 25a02396-1048-48f9-bf93-102d2fb7895e
                    receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
                    forTransferID: 193ceb53-94c7-41c4-9272-c90c2832cb4c
                    kind: sale.customer.v1
                    email: jordan.lee@classbooker.dev
                    sentFor:
                      - idempotencyKey: 0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1
                        receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
                        sentOn: '2025-01-16T17:52:14.219311143Z'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Receipts
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listReceipts
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.receipts.list({
                id: "8508cf6c-9ce4-4e35-84c1-4b77320a620b",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: listReceipts
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->receipts->list(
                id: '8508cf6c-9ce4-4e35-84c1-4b77320a620b'
            );

            if ($response->receiptResponses !== null) {
                // handle response
            }
        - lang: python
          label: listReceipts
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.receipts.list(id="8508cf6c-9ce4-4e35-84c1-4b77320a620b")

                # Handle response
                print(res)
        - lang: java
          label: listReceipts
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListReceiptsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListReceiptsResponse res = sdk.receipts().list()
                            .id("8508cf6c-9ce4-4e35-84c1-4b77320a620b")
                            .call();

                    if (res.receiptResponses().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listReceipts
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.receipts.list(id: '8508cf6c-9ce4-4e35-84c1-4b77320a620b')

            unless res.receipt_responses.nil?
              # handle response
            end
  /terminal-applications:
    post:
      operationId: createTerminalApplication
      description: |-
        Create a new terminal application.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/terminal-applications.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - terminalApplicationID
                  - status
                  - platform
                properties:
                  terminalApplicationID:
                    type: string
                    format: uuid
                    description: ID of the terminal application.
                    example: 12345678-1234-1234-1234-123456789012
                  status:
                    type: string
                    enum:
                      - undefined
                      - pending
                      - enabled
                      - disabled
                    description: Status of the terminal application.
                    example: enabled
                  platform:
                    type: string
                    enum:
                      - undefined
                      - ios
                      - android
                    description: Platform of the terminal application.
                    example: ios
                  appBundleID:
                    type: string
                    description: The app bundle identifier of the terminal application. Will be returned if platform is `ios`.
                  packageName:
                    type: string
                    pattern: ^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$
                    description: The app package name of the terminal application. Will be returned if platform is `android`.
                  sha256Digest:
                    type: string
                    description: A cryptographic hash of the signing key for the application. Will be returned if platform is `android`.
                  versionCode:
                    type: string
                    description: The app version code of the terminal application. Will be returned if platform is `android`.
                description: Describes a terminal application.
                example:
                  terminalApplicationID: 12345678-1234-1234-1234-123456789012
                  status: pending
                  platform: android
                  packageName: com.example.app
                  sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
                  versionCode: '20332277'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  platform:
                    type: string
                  appBundleID:
                    type: string
                  packageName:
                    type: string
                  sha256Digest:
                    type: string
                  versionCode:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Terminal Applications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - platform
              properties:
                platform:
                  type: string
                  enum:
                    - undefined
                    - ios
                    - android
                  description: Platform of the terminal application.
                  example: ios
                appBundleID:
                  type: string
                  description: The app bundle identifier of the terminal application. Required if platform is `ios`.
                packageName:
                  type: string
                  description: The app package name of the terminal application. Required if platform is `android`.
                sha256Digest:
                  type: string
                  description: The SHA-256 digest of the signing key for the application. Required if platform is `android`.
                versionCode:
                  type: string
                  description: The version code of the Android application. Required if platform is `android`.
              description: Describes a create terminal application request.
              example:
                platform: android
                packageName: com.example.app
                sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
                versionCode: '20332277'
      x-speakeasy-name-override: create
      x-codeSamples:
        - lang: typescript
          label: createTerminalApplication
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.terminalApplications.create({
                platform: "android",
                packageName: "com.example.app",
                sha256Digest: "AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD",
                versionCode: "20332277",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createTerminalApplication
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $createTerminalApplication = new Components\CreateTerminalApplication(
                platform: Components\TerminalApplicationPlatform::Android,
                packageName: 'com.example.app',
                sha256Digest: 'AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD',
                versionCode: '20332277',
            );

            $response = $sdk->terminalApplications->create(
                createTerminalApplication: $createTerminalApplication
            );

            if ($response->terminalApplication !== null) {
                // handle response
            }
        - lang: python
          label: createTerminalApplication
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.terminal_applications.create(platform="android", package_name="com.example.app", sha256_digest="AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD", version_code="20332277")

                # Handle response
                print(res)
        - lang: java
          label: createTerminalApplication
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.CreateTerminalApplication;
            import org.openapis.openapi.models.components.TerminalApplicationPlatform;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.TerminalApplicationError;
            import org.openapis.openapi.models.operations.CreateTerminalApplicationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, TerminalApplicationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateTerminalApplication req = CreateTerminalApplication.builder()
                            .platform(TerminalApplicationPlatform.ANDROID)
                            .packageName("com.example.app")
                            .sha256Digest("AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD")
                            .versionCode("20332277")
                            .build();

                    CreateTerminalApplicationResponse res = sdk.terminalApplications().create()
                            .request(req)
                            .call();

                    if (res.terminalApplication().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createTerminalApplication
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.terminal_applications.create(create_terminal_application: Models::Components::CreateTerminalApplication.new(
              platform: Models::Components::TerminalApplicationPlatform::ANDROID,
              package_name: 'com.example.app',
              sha256_digest: 'AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD',
              version_code: '20332277',
            ))

            unless res.terminal_application.nil?
              # handle response
            end
    get:
      operationId: listTerminalApplications
      description: |-
        List all the terminal applications for a Moov Account.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/terminal-applications.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - terminalApplicationID
                    - status
                    - platform
                  properties:
                    terminalApplicationID:
                      type: string
                      format: uuid
                      description: ID of the terminal application.
                      example: 12345678-1234-1234-1234-123456789012
                    status:
                      type: string
                      enum:
                        - undefined
                        - pending
                        - enabled
                        - disabled
                      description: Status of the terminal application.
                      example: enabled
                    platform:
                      type: string
                      enum:
                        - undefined
                        - ios
                        - android
                      description: Platform of the terminal application.
                      example: ios
                    appBundleID:
                      type: string
                      description: The app bundle identifier of the terminal application. Will be returned if platform is `ios`.
                    packageName:
                      type: string
                      pattern: ^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$
                      description: The app package name of the terminal application. Will be returned if platform is `android`.
                    sha256Digest:
                      type: string
                      description: A cryptographic hash of the signing key for the application. Will be returned if platform is `android`.
                    versionCode:
                      type: string
                      description: The app version code of the terminal application. Will be returned if platform is `android`.
                  description: Describes a terminal application.
                  example:
                    terminalApplicationID: 12345678-1234-1234-1234-123456789012
                    status: pending
                    platform: android
                    packageName: com.example.app
                    sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
                    versionCode: '20332277'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Terminal Applications
      x-speakeasy-name-override: list
      x-codeSamples:
        - lang: typescript
          label: listTerminalApplications
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.terminalApplications.list();

              console.log(result);
            }

            run();
        - lang: php
          label: listTerminalApplications
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->terminalApplications->list(

            );

            if ($response->terminalApplications !== null) {
                // handle response
            }
        - lang: python
          label: listTerminalApplications
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.terminal_applications.list()

                # Handle response
                print(res)
        - lang: java
          label: listTerminalApplications
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.ListTerminalApplicationsResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    ListTerminalApplicationsResponse res = sdk.terminalApplications().list()
                            .call();

                    if (res.terminalApplications().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: listTerminalApplications
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.terminal_applications.list()

            unless res.terminal_applications.nil?
              # handle response
            end
  /terminal-applications/{terminalApplicationID}:
    get:
      operationId: getTerminalApplication
      description: |-
        Fetch a specific terminal application.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/terminal-applications.read` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: terminalApplicationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - terminalApplicationID
                  - status
                  - platform
                properties:
                  terminalApplicationID:
                    type: string
                    format: uuid
                    description: ID of the terminal application.
                    example: 12345678-1234-1234-1234-123456789012
                  status:
                    type: string
                    enum:
                      - undefined
                      - pending
                      - enabled
                      - disabled
                    description: Status of the terminal application.
                    example: enabled
                  platform:
                    type: string
                    enum:
                      - undefined
                      - ios
                      - android
                    description: Platform of the terminal application.
                    example: ios
                  appBundleID:
                    type: string
                    description: The app bundle identifier of the terminal application. Will be returned if platform is `ios`.
                  packageName:
                    type: string
                    pattern: ^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$
                    description: The app package name of the terminal application. Will be returned if platform is `android`.
                  sha256Digest:
                    type: string
                    description: A cryptographic hash of the signing key for the application. Will be returned if platform is `android`.
                  versionCode:
                    type: string
                    description: The app version code of the terminal application. Will be returned if platform is `android`.
                description: Describes a terminal application.
                example:
                  terminalApplicationID: 12345678-1234-1234-1234-123456789012
                  status: pending
                  platform: android
                  packageName: com.example.app
                  sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
                  versionCode: '20332277'
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Terminal Applications
      x-speakeasy-name-override: get
      x-codeSamples:
        - lang: typescript
          label: getTerminalApplication
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.terminalApplications.get({
                terminalApplicationID: "12345678-1234-1234-1234-123456789012",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: getTerminalApplication
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->terminalApplications->get(
                terminalApplicationID: '12345678-1234-1234-1234-123456789012'
            );

            if ($response->terminalApplication !== null) {
                // handle response
            }
        - lang: python
          label: getTerminalApplication
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.terminal_applications.get(terminal_application_id="12345678-1234-1234-1234-123456789012")

                # Handle response
                print(res)
        - lang: java
          label: getTerminalApplication
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetTerminalApplicationResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetTerminalApplicationResponse res = sdk.terminalApplications().get()
                            .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                            .call();

                    if (res.terminalApplication().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getTerminalApplication
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.terminal_applications.get(terminal_application_id: '12345678-1234-1234-1234-123456789012')

            unless res.terminal_application.nil?
              # handle response
            end
    delete:
      operationId: deleteTerminalApplication
      description: |-
        Delete a specific terminal application.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/terminal-applications.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: terminalApplicationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
      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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Terminal Applications
      x-speakeasy-name-override: delete
      x-codeSamples:
        - lang: typescript
          label: deleteTerminalApplication
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.terminalApplications.delete({
                terminalApplicationID: "12345678-1234-1234-1234-123456789012",
              });

              console.log(result);
            }

            run();
        - lang: php
          label: deleteTerminalApplication
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->terminalApplications->delete(
                terminalApplicationID: '12345678-1234-1234-1234-123456789012'
            );

            if ($response->statusCode === 200) {
                // handle response
            }
        - lang: python
          label: deleteTerminalApplication
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.terminal_applications.delete(terminal_application_id="12345678-1234-1234-1234-123456789012")

                # Handle response
                print(res)
        - lang: java
          label: deleteTerminalApplication
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.operations.DeleteTerminalApplicationResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    DeleteTerminalApplicationResponse res = sdk.terminalApplications().delete()
                            .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                            .call();

                    // handle response
                }
            }
        - lang: ruby
          label: deleteTerminalApplication
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.terminal_applications.delete(terminal_application_id: '12345678-1234-1234-1234-123456789012')

            if res.status_code == 200
              # handle response
            end
  /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.

        To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) 
        you'll need to specify the `/terminal-applications.write` scope.
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - name: terminalApplicationID
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
      responses:
        '200':
          description: The request completed successfully.
          headers:
            x-request-id:
              required: true
              description: A unique identifier used to trace requests.
              schema:
                type: string
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - version
                properties:
                  version:
                    type: string
                    description: The app version of the terminal application (version code for Android terminal application).
                description: Describes a terminal application version.
                example:
                  version: '20440059'
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                properties:
                  platform:
                    type: string
                  appBundleID:
                    type: string
                  packageName:
                    type: string
                  sha256Digest:
                    type: string
                  versionCode:
                    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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Terminal Applications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - version
              properties:
                version:
                  type: string
                  description: The app version of the terminal application (version code for Android terminal application).
              description: Describes a terminal application version.
              example:
                version: '20440059'
      x-speakeasy-name-override: createVersion
      x-codeSamples:
        - lang: typescript
          label: createTerminalApplicationVersion
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.terminalApplications.createVersion({
                terminalApplicationID: "12345678-1234-1234-1234-123456789012",
                terminalApplicationVersion: {
                  version: "20440059",
                },
              });

              console.log(result);
            }

            run();
        - lang: php
          label: createTerminalApplicationVersion
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;
            use OpenAPI\OpenAPI\Models\Components;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();

            $terminalApplicationVersion = new Components\TerminalApplicationVersion(
                version: '20440059',
            );

            $response = $sdk->terminalApplications->createVersion(
                terminalApplicationID: '12345678-1234-1234-1234-123456789012',
                terminalApplicationVersion: $terminalApplicationVersion

            );

            if ($response->terminalApplicationVersion !== null) {
                // handle response
            }
        - lang: python
          label: createTerminalApplicationVersion
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.terminal_applications.create_version(terminal_application_id="12345678-1234-1234-1234-123456789012", version="20440059")

                # Handle response
                print(res)
        - lang: java
          label: createTerminalApplicationVersion
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.components.TerminalApplicationVersion;
            import org.openapis.openapi.models.errors.GenericError;
            import org.openapis.openapi.models.errors.TerminalApplicationError;
            import org.openapis.openapi.models.operations.CreateTerminalApplicationVersionResponse;

            public class Application {

                public static void main(String[] args) throws GenericError, TerminalApplicationError, Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    CreateTerminalApplicationVersionResponse res = sdk.terminalApplications().createVersion()
                            .terminalApplicationID("12345678-1234-1234-1234-123456789012")
                            .terminalApplicationVersion(TerminalApplicationVersion.builder()
                                .version("20440059")
                                .build())
                            .call();

                    if (res.terminalApplicationVersion().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: createTerminalApplicationVersion
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.terminal_applications.create_version(terminal_application_id: '12345678-1234-1234-1234-123456789012', terminal_application_version: Models::Components::TerminalApplicationVersion.new(
              version: '20440059',
            ))

            unless res.terminal_application_version.nil?
              # handle response
            end
  /tos-token:
    get:
      operationId: getTermsOfServiceToken
      description: |-
        Generates a non-expiring token that can then be used to accept Moov's terms of service. 

        This token can only be generated via API. Any Moov account requesting the collect funds, send funds, wallet, 
        or card issuing capabilities must accept Moov's terms of service, then have the generated terms of service 
        token patched to the account. Read more in our [documentation](https://docs.moov.io/guides/accounts/requirements/platform-agreement/).
      parameters:
        - name: x-moov-version
          in: header
          required: false
          description: |-
            Specify an API version.

            API versioning follows the format `vYYYY.QQ.BB`, where 
              - `YYYY` is the year
              - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
              - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
                - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

            The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
          schema:
            type: string
            x-speakeasy-globals-hidden: true
            default: v2024.01.00
          x-speakeasy-globals-hidden: true
        - 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
                format: uuid
          content:
            application/json:
              schema:
                type: object
                required:
                  - token
                properties:
                  token:
                    type: string
                    example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                description: An encrypted value used to record acceptance of Moov's Terms of Service.
                title: Token
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
        '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
                format: uuid
      tags:
        - Accounts
      x-codeSamples:
        - lang: typescript
          label: getTermsOfServiceToken
          source: |-
            import { SDK } from "openapi";

            const sdk = new SDK({
              xMoovVersion: "v2024.01.00",
            });

            async function run() {
              const result = await sdk.accounts.getTermsOfServiceToken();

              console.log(result);
            }

            run();
        - lang: php
          label: getTermsOfServiceToken
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use OpenAPI\OpenAPI;

            $sdk = OpenAPI\SDK::builder()
                ->setXMoovVersion('v2024.01.00')
                ->build();



            $response = $sdk->accounts->getTermsOfServiceToken(

            );

            if ($response->termsOfServiceToken !== null) {
                // handle response
            }
        - lang: python
          label: getTermsOfServiceToken
          source: |-
            from openapi import SDK


            with SDK(
                x_moov_version="v2024.01.00",
            ) as sdk:

                res = sdk.accounts.get_terms_of_service_token()

                # Handle response
                print(res)
        - lang: java
          label: getTermsOfServiceToken
          source: |-
            package hello.world;

            import java.lang.Exception;
            import org.openapis.openapi.SDK;
            import org.openapis.openapi.models.operations.GetTermsOfServiceTokenResponse;

            public class Application {

                public static void main(String[] args) throws Exception {

                    SDK sdk = SDK.builder()
                            .xMoovVersion("v2024.01.00")
                        .build();

                    GetTermsOfServiceTokenResponse res = sdk.accounts().getTermsOfServiceToken()
                            .call();

                    if (res.termsOfServiceToken().isPresent()) {
                        // handle response
                    }
                }
            }
        - lang: ruby
          label: getTermsOfServiceToken
          source: |-
            require 'openapi'

            Models = ::OpenApiSDK::Models
            s = ::OpenApiSDK::SDK.new(
                  x_moov_version: 'v2024.01.00',
                )

            res = s.accounts.get_terms_of_service_token()

            unless res.terms_of_service_token.nil?
              # handle response
            end
  '"/accounts/{accountID}/fees/':
    fetch":
      post:
        x-codeSamples:
          - lang: typescript
            label: listFeesFetch
            source: |-
              import { SDK } from "openapi";

              const sdk = new SDK({
                xMoovVersion: "v2024.01.00",
              });

              async function run() {
                const result = await sdk.feePlans.listFeesFetch({
                  accountID: "55c34e26-269d-4872-8e42-0fa83e3f4b10",
                });

                console.log(result);
              }

              run();
          - lang: php
            label: listFeesFetch
            source: |-
              declare(strict_types=1);

              require 'vendor/autoload.php';

              use OpenAPI\OpenAPI;

              $sdk = OpenAPI\SDK::builder()
                  ->setXMoovVersion('v2024.01.00')
                  ->build();



              $response = $sdk->feePlans->listFeesFetch(
                  accountID: '55c34e26-269d-4872-8e42-0fa83e3f4b10',
                  listFeesFetchRequest: $listFeesFetchRequest

              );

              if ($response->incurredFees !== null) {
                  // handle response
              }
          - lang: python
            label: listFeesFetch
            source: |-
              from openapi import SDK


              with SDK(
                  x_moov_version="v2024.01.00",
              ) as sdk:

                  res = sdk.fee_plans.list_fees_fetch(account_id="55c34e26-269d-4872-8e42-0fa83e3f4b10")

                  # Handle response
                  print(res)
          - lang: java
            label: listFeesFetch
            source: |-
              package hello.world;

              import java.lang.Exception;
              import org.openapis.openapi.SDK;
              import org.openapis.openapi.models.operations.ListFeesFetchResponse;

              public class Application {

                  public static void main(String[] args) throws Exception {

                      SDK sdk = SDK.builder()
                              .xMoovVersion("v2024.01.00")
                          .build();

                      ListFeesFetchResponse res = sdk.feePlans().listFeesFetch()
                              .accountID("55c34e26-269d-4872-8e42-0fa83e3f4b10")
                              .call();

                      if (res.incurredFees().isPresent()) {
                          // handle response
                      }
                  }
              }
          - lang: ruby
            label: listFeesFetch
            source: |-
              require 'openapi'

              Models = ::OpenApiSDK::Models
              s = ::OpenApiSDK::SDK.new(
                    x_moov_version: 'v2024.01.00',
                  )

              res = s.fee_plans.list_fees_fetch(account_id: '55c34e26-269d-4872-8e42-0fa83e3f4b10')

              unless res.incurred_fees.nil?
                # handle response
              end
components:
  parameters:
    AccountsQuery.capability:
      name: capability
      in: query
      required: false
      description: '  Filter connected accounts by the capability.'
      schema:
        type: string
        enum:
          - transfers
          - send-funds
          - send-funds.push-to-card
          - money-transfer.push-to-card
          - send-funds.ach
          - send-funds.rtp
          - send-funds.instant-bank
          - collect-funds
          - collect-funds.card-payments
          - money-transfer.pull-from-card
          - collect-funds.ach
          - wallet
          - wallet.balance
          - card-issuing
          - production-app
          - platform.production-app
          - platform.wallet-transfers
        description: |-
          Moov account capabilities.

          The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
      explode: false
    AccountsQuery.capabilityStatus:
      name: capabilityStatus
      in: query
      required: false
      description: '  Filter connected accounts by the capability.'
      schema:
        type: string
        enum:
          - enabled
          - disabled
          - pending
          - in-review
        description: The status of the capability requested for an account.
      explode: false
    AccountsQuery.email:
      name: email
      in: query
      required: false
      description: |2-
          Filter connected accounts by email address.

          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.

        If 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.

        If provided, this query will attempt to find matches against the following Account and Profile fields:
        <ul>
          <li>Account `displayName`</li>
          <li>Individual Profile `firstName`, `middleName`, and `lastName`</li>
          <li>Business Profile `legalBusinessName`</li>
        </ul>

        Filtering by Guest Profile `name` is not currently supported.
      schema:
        type: string
      explode: false
    AccountsQuery.type:
      name: type
      in: query
      required: false
      description: |2-
          Filter connected accounts by AccountType.

          If the `type` parameter is used in combination with `name`, only the corresponding type's name fields will
          be searched. For example, if `type=business` and `name=moov`, the search will attempt to find matches against
          the display name and Business Profile name fields (`legalBusinessName`, and `doingBusinessAs`).

          Filtering by `type=guest` is not currently supported.
      schema:
        type: string
        enum:
          - individual
          - business
      explode: false
    CursorPagination.count:
      name: count
      in: query
      required: false
      schema:
        default: 200
        type: integer
        format: int64
        description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
        example: 20
      explode: false
    CursorPagination.cursor:
      name: cursor
      in: query
      required: false
      schema:
        type: string
        description: The value used to retrieve a page of items.
      explode: false
    DisputeListFilters.cardholderAccountID:
      name: cardholderAccountID
      in: query
      required: false
      description: Optional parameter to filter by cardholder account ID.
      schema:
        type: string
        format: uuid
      explode: false
    DisputeListFilters.disputeIDs:
      name: disputeIDs
      in: query
      required: false
      description: Optional parameter to filter by a comma separated list of dispute IDs.
      schema:
        type: array
        items:
          type: string
      explode: false
    DisputeListFilters.endDateTime:
      name: endDateTime
      in: query
      required: false
      description: Optional date-time parameter to filter all disputes created on and before the provided date and time.
      schema:
        type: string
        format: date-time
      explode: false
    DisputeListFilters.merchantAccountID:
      name: merchantAccountID
      in: query
      required: false
      description: Optional parameter to filter by merchant account ID.
      schema:
        type: string
        format: uuid
      explode: false
    DisputeListFilters.orderBy:
      name: orderBy
      in: query
      required: false
      schema:
        type: string
      explode: false
    DisputeListFilters.respondEndDateTime:
      name: respondEndDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all disputes with respond by before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    DisputeListFilters.respondStartDateTime:
      name: respondStartDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all disputes with respond by before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    DisputeListFilters.startDateTime:
      name: startDateTime
      in: query
      required: false
      description: Optional date-time parameter to filter all disputes created on and after the provided date and time.
      schema:
        type: string
        format: date-time
      explode: false
    DisputeListFilters.status:
      name: status
      in: query
      required: false
      description: Optional dispute status by which to filter the disputes.
      schema:
        type: string
        enum:
          - response-needed
          - resolved
          - under-review
          - closed
          - accepted
          - expired
          - won
          - lost
        description: |-
          The status of a particular dispute. 

          Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
      explode: false
    DisputeListFilters.transferIDs:
      name: transferIDs
      in: query
      required: false
      description: Optional parameter to filter by a comma separated list of transfer IDs.
      schema:
        type: array
        items:
          type: string
      explode: false
    EnrichedAddressFilters.excludeStates:
      name: excludeStates
      in: query
      required: false
      description: Exclude list of states from results. No `include` pararmeters may be used with this parameter.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.includeCities:
      name: includeCities
      in: query
      required: false
      description: Limits results to a list of given cities.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.includeStates:
      name: includeStates
      in: query
      required: false
      description: Limits results to a list of given states.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.includeZipcodes:
      name: includeZipcodes
      in: query
      required: false
      description: Limits results to a list of given zipcodes.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.maxResults:
      name: maxResults
      in: query
      required: false
      description: Maximum number of results to return.
      schema:
        type: integer
      explode: false
    EnrichedAddressFilters.preferCities:
      name: preferCities
      in: query
      required: false
      description: Display results with the listed cities at the top.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.preferGeolocation:
      name: preferGeolocation
      in: query
      required: false
      description: |2-
          If omitted or set to `city`, it uses the sender's IP address to determine location, then automatically adds the city and state 
          to the preferCities value. This parameter takes precedence over other `include` or `exclude` parameters meaning that if it is 
          not set to `none`, you may see addresses from areas you do not wish to see.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.preferRatio:
      name: preferRatio
      in: query
      required: false
      description: Specifies the percentage of address suggestions that should be preferred and will appear at the top of the results.
      schema:
        type: integer
      explode: false
    EnrichedAddressFilters.preferStates:
      name: preferStates
      in: query
      required: false
      description: Display results with the listed states at the top.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.preferZipcodes:
      name: preferZipcodes
      in: query
      required: false
      description: Display results with the listed zipcodes at the top.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.search:
      name: search
      in: query
      required: true
      description: Partial or complete address to search.
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.selected:
      name: selected
      in: query
      required: false
      description: Useful for narrowing results with `addressLine2` suggestions such as `Apt` (denotes an apartment building with multiple residences).
      schema:
        type: string
      explode: false
    EnrichedAddressFilters.source:
      name: source
      in: query
      required: false
      description: Include results from alternate data sources. Allowed values are `all` (non-postal addresses), or `postal` (postal addresses only).
      schema:
        type: string
      explode: false
    InstitutionSearchFilters.limit:
      name: limit
      in: query
      required: false
      description: Maximum results returned by a search.
      schema:
        type: integer
      explode: false
    InstitutionSearchFilters.name:
      name: name
      in: query
      required: false
      description: Name of the financial institution. Either `name` or `routingNumber` is required.
      schema:
        type: string
      explode: false
    InstitutionSearchFilters.routingNumber:
      name: routingNumber
      in: query
      required: false
      description: Routing number for a financial institution. Either `routingNumber` or `name` is required.
      schema:
        type: string
      explode: false
    InstitutionsFilters.limit:
      name: limit
      in: query
      required: false
      description: Maximum results returned by a search.
      schema:
        type: integer
      explode: false
    InstitutionsFilters.name:
      name: name
      in: query
      required: false
      description: Name of the financial institution. Either `name` or `routingNumber` is required.
      schema:
        type: string
      explode: false
    InstitutionsFilters.routingNumber:
      name: routingNumber
      in: query
      required: false
      description: Routing number for a financial institution. Either `routingNumber` or `name` is required.
      schema:
        type: string
      explode: false
    InstitutionsFilters.state:
      name: state
      in: query
      required: false
      description: The state where a financial institution is based.
      schema:
        type: string
      explode: false
    ListIssuingAuthorizationsQuery.endDateTime:
      name: endDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all authorizations created before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListIssuingAuthorizationsQuery.issuedCardID:
      name: issuedCardID
      in: query
      required: false
      description: Optional ID of the issued card to filter results.
      schema:
        type: string
        format: uuid
      explode: false
    ListIssuingAuthorizationsQuery.startDateTime:
      name: startDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all authorizations created after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListIssuingAuthorizationsQuery.statuses:
      name: statuses
      in: query
      required: false
      description: Optional, comma-separated statuses of the authorization to filter results.
      schema:
        type: array
        items:
          type: string
          enum:
            - pending
            - declined
            - canceled
            - cleared
            - expired
          description: Status of a card issuing authorization.
      explode: false
    ListIssuingTransactionsQuery.endDateTime:
      name: endDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all card transactions created before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListIssuingTransactionsQuery.issuedCardID:
      name: issuedCardID
      in: query
      required: false
      description: Optional ID of the issued card to filter results.
      schema:
        type: string
        format: uuid
      explode: false
    ListIssuingTransactionsQuery.startDateTime:
      name: startDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all card transactions created after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListTransactionsQuery.completedEndDateTime:
      name: completedEndDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all transactions completed before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListTransactionsQuery.completedStartDateTime:
      name: completedStartDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all transactions completed after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListTransactionsQuery.createdEndDateTime:
      name: createdEndDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all transactions created before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListTransactionsQuery.createdStartDateTime:
      name: createdStartDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all transactions created after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    ListTransactionsQuery.sourceID:
      name: sourceID
      in: query
      required: false
      description: Optional parameter to filter by source ID.
      schema:
        type: string
        format: uuid
      explode: false
    ListTransactionsQuery.sourceType:
      name: sourceType
      in: query
      required: false
      description: Optional parameter to filter by source type (i.e. transfer, dispute, issuing-transaction).
      schema:
        type: string
        enum:
          - transfer
          - dispute
          - issuing-card-transaction
          - issuing-authorization
          - sweep
          - adjustment
          - fee
          - residual
      explode: false
    ListTransactionsQuery.status:
      name: status
      in: query
      required: false
      description: Optional parameter to filter by status (`pending` or `completed`).
      schema:
        type: string
        enum:
          - pending
          - completed
          - canceled
          - failed
      explode: false
    ListTransactionsQuery.sweepID:
      name: sweepID
      in: query
      required: false
      description: Optional ID to filter for transactions accrued in a sweep.
      schema:
        type: string
        format: uuid
      explode: false
    ListTransactionsQuery.transactionType:
      name: transactionType
      in: query
      required: false
      description: Optional parameter to filter by transaction type.
      schema:
        type: string
        enum:
          - account-funding
          - ach-reversal
          - auto-sweep
          - card-payment
          - card-decline
          - card-reversal
          - cash-out
          - dispute
          - dispute-reversal
          - facilitator-fee
          - issuing-refund
          - issuing-transaction
          - issuing-transaction-adjustment
          - issuing-auth-hold
          - issuing-auth-release
          - issuing-decline
          - moov-fee
          - payment
          - payout
          - refund
          - refund-failure
          - rtp-failure
          - top-up
          - wallet-transfer
          - adjustment
          - fee-revenue
          - residual
      explode: false
    ListTransactionsQuery.transactionTypes:
      name: transactionTypes
      in: query
      required: false
      description: Optional, comma-separated parameter to filter by transaction types.
      schema:
        type: array
        items:
          type: string
          enum:
            - account-funding
            - ach-reversal
            - auto-sweep
            - card-payment
            - card-decline
            - card-reversal
            - cash-out
            - dispute
            - dispute-reversal
            - facilitator-fee
            - issuing-refund
            - issuing-transaction
            - issuing-transaction-adjustment
            - issuing-auth-hold
            - issuing-auth-release
            - issuing-decline
            - moov-fee
            - payment
            - payout
            - refund
            - refund-failure
            - rtp-failure
            - top-up
            - wallet-transfer
            - adjustment
            - fee-revenue
            - residual
      explode: false
    ListTransactionsQuery.walletID:
      name: walletID
      in: path
      required: true
      schema:
        type: string
        format: uuid
    Pagination.count:
      name: count
      in: query
      required: false
      schema:
        default: 200
        type: integer
        format: int64
        description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
        example: 20
      explode: false
    Pagination.skip:
      name: skip
      in: query
      required: false
      schema:
        type: integer
        format: int64
        description: The number of entries to skip when paginating a large result set.
        example: 60
      explode: false
    StatementListFilters.billingPeriodEndDateTime:
      name: billingPeriodEndDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all statements where billing period is before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    StatementListFilters.billingPeriodStartDateTime:
      name: billingPeriodStartDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all statements where billing period is on or after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    TicketListFilters.foreignID:
      name: foreignID
      in: query
      required: false
      schema:
        type: string
      explode: false
    TicketListFilters.status:
      name: status
      in: query
      required: false
      schema:
        type: string
        enum:
          - new
          - in-progress
          - on-hold
          - closed
      explode: false
    TransferListFilters.accountIDs:
      name: accountIDs
      in: query
      required: false
      description: Optional, comma-separated account IDs by which the response is filtered based on whether the account ID is the source or destination.
      schema:
        type: array
        items:
          type: string
      explode: false
    TransferListFilters.disputed:
      name: disputed
      in: query
      required: false
      description: Optional parameter to only return disputed transfers.
      schema:
        type: boolean
      explode: false
    TransferListFilters.endDateTime:
      name: endDateTime
      in: query
      required: false
      description: Optional date-time which exclusively filters all transfers created before this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    TransferListFilters.foreignID:
      name: foreignID
      in: query
      required: false
      description: Optional alias from a foreign/external system which can be used to reference this resource.
      schema:
        type: string
      explode: false
    TransferListFilters.groupID:
      name: groupID
      in: query
      required: false
      description: Optional ID to filter for transfers in the same group.
      schema:
        type: string
        format: uuid
      explode: false
    TransferListFilters.paymentLinkCode:
      name: paymentLinkCode
      in: query
      required: false
      description: Optional code to filter for transfers associated with the payment link.
      schema:
        type: string
      explode: false
    TransferListFilters.refunded:
      name: refunded
      in: query
      required: false
      description: Optional parameter to only return refunded transfers.
      schema:
        type: boolean
      explode: false
    TransferListFilters.scheduleID:
      name: scheduleID
      in: query
      required: false
      description: Optional ID to filter for transfer occurrences belonging to the same schedule.
      schema:
        type: string
        format: uuid
      explode: false
    TransferListFilters.startDateTime:
      name: startDateTime
      in: query
      required: false
      description: Optional date-time which inclusively filters all transfers created after this date-time.
      schema:
        type: string
        format: date-time
      explode: false
    TransferListFilters.status:
      name: status
      in: query
      required: false
      description: Optional parameter for filtering transfers by status.
      schema:
        type: string
        enum:
          - created
          - pending
          - completed
          - failed
          - reversed
          - queued
          - canceled
        description: Status of a transfer.
      explode: false
    VersionHeader:
      name: x-moov-version
      in: header
      required: false
      description: |-
        Specify an API version.

        API versioning follows the format `vYYYY.QQ.BB`, where 
          - `YYYY` is the year
          - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
          - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
            - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

        The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
      schema:
        type: string
        x-speakeasy-globals-hidden: true
        default: v2024.01.00
      x-speakeasy-globals-hidden: true
    WalletListFilters.status:
      name: status
      in: query
      required: false
      description: Optional parameter for filtering wallets by status.
      schema:
        type: string
        enum:
          - active
          - closed
        description: |-
          Status of a wallet.
            - `active`: The wallet is available for use and has an enabled payment method.
            - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
      explode: false
    WalletListFilters.walletType:
      name: walletType
      in: query
      required: false
      description: Optional parameter for filtering wallets by type.
      schema:
        type: string
        enum:
          - default
          - general
        description: |-
          Type of a wallet.
            - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
            - `general`: An additional, user-defined wallet created via API or Dashboard.
      explode: false
  schemas:
    ACHCompanyEntryDescription:
      type: string
      minLength: 4
      maxLength: 10
      description: An optional override of the default NACHA company entry description for a transfer.
      example: Gym dues
    ACHException:
      type: object
      properties:
        code:
          type: string
        reason:
          type: string
        description:
          type: string
    ACHFees:
      type: object
      required:
        - standardCredit
        - sameDayCredit
        - debits
        - return
        - unauthorizedReturn
        - noticeOfChange
        - total
      properties:
        standardCredit:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for standard credit transfers.
        sameDayCredit:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for same-day credit transfers.
        debits:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for debit transfers.
        return:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for authorized returns.
        unauthorizedReturn:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for unauthorized returns.
        noticeOfChange:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for notices of change.
        total:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Total ACH fees.
      description: A detailed breakdown of ACH fees.
    ACHInstitution:
      type: object
      required:
        - name
        - routingNumber
      properties:
        name:
          type: string
          description: Name of the financial institution.
          example: First Citizens
        routingNumber:
          type: string
          maxLength: 9
          example: '123456789'
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        contact:
          type: object
          properties:
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
    ACHOriginatingCompanyName:
      type: string
      minLength: 4
      maxLength: 16
      description: An optional override of the default NACHA company name for a transfer.
      example: Whole Body Fit
    ACHPaymentDetails:
      type: object
      properties:
        companyEntryDescription:
          type: string
          minLength: 4
          maxLength: 10
          description: An optional override of the default NACHA company entry description for a transfer.
          example: Gym dues
        originatingCompanyName:
          type: string
          minLength: 4
          maxLength: 16
          description: An optional override of the default NACHA company name for a transfer.
          example: Whole Body Fit
      description: Options for payment links used to collect an ACH payment.
    ACHPaymentDetailsError:
      type: object
      properties:
        companyEntryDescription:
          type: string
        originatingCompanyName:
          type: string
    ACHPaymentSettings:
      type: object
      required:
        - companyName
      properties:
        companyName:
          type: string
          minLength: 1
          maxLength: 16
          pattern: '[a-zA-Z0-9- ]+'
          description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
          example: WholeBodyFitness
    ACHReturnCode:
      type: string
      enum:
        - R02
        - R03
        - R04
        - R05
        - R07
        - R08
        - R10
        - R11
        - R12
        - R13
        - R14
        - R15
        - R16
        - R17
        - R20
        - R23
        - R29
        - R34
        - R38
        - R39
      description: |-
        The return code of an ACH transaction that caused the bank account status to change.

        - R02: Account Closed
        - R03: No Account/Unable to Locate Account
        - R04: Invalid Account Number
        - R05: Improper Debit to Consumer Account
        - R07: Authorization Revoked by Customer
        - R08: Payment Stopped
        - R10: Customer Advises Originator is Not Known or Authorized to Receiver
        - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
        - R12: Branch Sold to Another DFI
        - R13: RDFI not qualified to participate
        - R14: Representative payee deceased or unable to continue in that capacity
        - R15: Beneficiary or bank account holder
        - R16: Bank account frozen
        - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
        - R20: Non-payment bank account
        - R23: Credit entry refused by receiver
        - R29: Corporate customer advises not authorized
        - R34: Limited participation RDFI
        - R38: Stop Payment on Source Document (Adjustment Entry)
        - R39: Improper Source Document
    ACHTransactionDetails:
      type: object
      required:
        - status
        - traceNumber
      properties:
        status:
          type: string
          enum:
            - ''
            - initiated
            - originated
            - corrected
            - returned
            - completed
            - canceled
          description: Status of a transaction within the ACH lifecycle.
        traceNumber:
          type: string
          maxLength: 15
          example: '124782618117'
        return:
          type: object
          properties:
            code:
              type: string
            reason:
              type: string
            description:
              type: string
        correction:
          type: object
          properties:
            code:
              type: string
            reason:
              type: string
            description:
              type: string
        companyEntryDescription:
          type: string
          minLength: 4
          maxLength: 10
          description: An optional override of the default NACHA company entry description for a transfer.
          example: Gym dues
        originatingCompanyName:
          type: string
          minLength: 4
          maxLength: 16
          description: An optional override of the default NACHA company name for a transfer.
          example: Whole Body Fit
        secCode:
          type: string
          enum:
            - WEB
            - PPD
            - CCD
            - TEL
          description: Code used to identify the ACH authorization method.
        canceledOn:
          type: string
          format: date-time
        initiatedOn:
          type: string
          format: date-time
        originatedOn:
          type: string
          format: date-time
        correctedOn:
          type: string
          format: date-time
        returnedOn:
          type: string
          format: date-time
        failedOn:
          type: string
          format: date-time
        completedOn:
          type: string
          format: date-time
        debitHoldPeriod:
          type: string
          enum:
            - no-hold
            - 1-day
            - 2-days
          description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
          example: 2-days
      description: ACH specific details about the transaction.
    ACHTransactionStatus:
      type: string
      enum:
        - ''
        - initiated
        - originated
        - corrected
        - returned
        - completed
        - canceled
      description: Status of a transaction within the ACH lifecycle.
    AccentColor:
      type: string
      description: A CSS hex color representing an accent color.
      example: '#111111'
    AccessToken:
      type: string
      maxLength: 4096
      description: A value passed to the authorization server to gain access to the system.
      example: eyJhbGciOiJFZERTQSIsImN0eSI6IkpXVCIsImtpZCI6IkR...
    Account:
      type: object
      required:
        - accountID
        - mode
        - accountType
        - displayName
        - profile
        - verification
        - createdOn
        - updatedOn
      properties:
        accountID:
          type: string
          format: uuid
          description: Unique identifier for this account.
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        mode:
          type: string
          enum:
            - sandbox
            - production
          description: The operating mode for an account.
          example: production
        accountType:
          type: string
          enum:
            - individual
            - business
            - guest
          description: The type of entity represented by this account.
          example: business
        displayName:
          type: string
          maxLength: 64
          example: Whole Body Fitness
        profile:
          type: object
          properties:
            individual:
              type: object
              required:
                - name
              properties:
                name:
                  type: object
                  required:
                    - firstName
                    - lastName
                  properties:
                    firstName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's first given name.
                      example: Jordan
                    middleName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's second given name, if any.
                      example: Reese
                    lastName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's family name.
                      example: Lee
                    suffix:
                      type: string
                      maxLength: 20
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: Suffix of a given name.
                      example: Jr
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                birthDateProvided:
                  type: boolean
                  description: Indicates whether this individual's birth date has been provided.
                governmentIDProvided:
                  type: boolean
                  description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
              description: Describes an individual.
            business:
              type: object
              required:
                - legalBusinessName
                - ownersProvided
              properties:
                legalBusinessName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                  description: The legal name under which the entity is registered.
                  example: Classbooker, LLC
                doingBusinessAs:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                  description: A registered trade name under which the business operates, if different from its legal name.
                businessType:
                  type: string
                  enum:
                    - soleProprietorship
                    - unincorporatedAssociation
                    - trust
                    - publicCorporation
                    - privateCorporation
                    - llc
                    - partnership
                    - unincorporatedNonProfit
                    - incorporatedNonProfit
                    - governmentEntity
                  description: The type of entity represented by this business.
                  example: llc
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                website:
                  type: string
                  format: uri
                  maxLength: 100
                description:
                  type: string
                  minLength: 10
                  maxLength: 100
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Local fitness gym paying out instructors
                taxIDProvided:
                  type: boolean
                  description: Indicates whether a tax ID has been provided for this business.
                representatives:
                  type: array
                  items:
                    type: object
                    required:
                      - representativeID
                      - name
                      - createdOn
                      - updatedOn
                    properties:
                      representativeID:
                        type: string
                        format: uuid
                        description: Unique identifier for this representative.
                      name:
                        type: object
                        required:
                          - firstName
                          - lastName
                        properties:
                          firstName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: The individual's first given name.
                            example: Jordan
                          middleName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: The individual's second given name, if any.
                            example: Reese
                          lastName:
                            type: string
                            maxLength: 64
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: The individual's family name.
                            example: Lee
                          suffix:
                            type: string
                            maxLength: 20
                            pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                            description: Suffix of a given name.
                            example: Jr
                      phone:
                        type: object
                        properties:
                          number:
                            type: string
                            maxLength: 10
                            example: '8185551212'
                          countryCode:
                            type: string
                            maxLength: 1
                            example: '1'
                      email:
                        type: string
                        maxLength: 255
                        format: email
                        example: jordan.lee@classbooker.dev
                      address:
                        type: object
                        required:
                          - addressLine1
                          - city
                          - stateOrProvince
                          - postalCode
                          - country
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: 123 Main Street
                          addressLine2:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Apt 302
                          city:
                            type: string
                            maxLength: 32
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: Boulder
                          stateOrProvince:
                            type: string
                            maxLength: 2
                            example: CO
                          postalCode:
                            type: string
                            maxLength: 5
                            example: '80301'
                          country:
                            type: string
                            maxLength: 2
                            example: US
                      birthDateProvided:
                        type: boolean
                        description: Indicates whether this representative's birth date has been provided.
                      governmentIDProvided:
                        type: boolean
                        description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                      responsibilities:
                        type: object
                        properties:
                          isController:
                            type: boolean
                            description: Indicates whether this individual has significant management responsibilities within the business.
                          isOwner:
                            type: boolean
                            description: |-
                              If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                              business. If the representative does not own at least 25% of the business, this field should be `false`.
                          ownershipPercentage:
                            type: integer
                            description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                            example: 38
                          jobTitle:
                            type: string
                            maxLength: 64
                            pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                            example: CEO
                        description: Describes the job responsibilities of a business representative.
                      createdOn:
                        type: string
                        format: date-time
                      updatedOn:
                        type: string
                        format: date-time
                      disabledOn:
                        type: string
                        format: date-time
                    description: Describes a business representative.
                ownersProvided:
                  type: boolean
                industryCodes:
                  type: object
                  properties:
                    naics:
                      type: string
                      minLength: 2
                      maxLength: 6
                      example: '713940'
                    sic:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7991'
                    mcc:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7997'
                primaryRegulator:
                  type: string
                  enum:
                    - OCC
                    - FDIC
                    - NCUA
                    - FRB
                    - state-cu-regulator
                  description: If the business is a financial institution, this field describes its primary regulator.
              description: Describes a business.
            guest:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: |-
                    The name associated with the guest account.
                    This will default to "Guest {accountIDfirst8}" if no other name is provided.
                  example: Guest 75e5fbb8
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
              description: Describes a guest account profile.
          description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        termsOfService:
          type: object
          required:
            - acceptedDate
            - acceptedIP
          properties:
            acceptedDate:
              type: string
              format: date-time
              description: The date and time the terms of service were accepted.
            acceptedIP:
              type: string
              format: ipv4
              description: The IP address from which the terms of service were accepted.
              example: 172.217.2.46
          description: Describes the acceptance of the Terms of Service.
        capabilities:
          type: array
          items:
            type: object
            required:
              - capability
              - status
            properties:
              capability:
                type: string
              status:
                type: string
            description: Describes an action or set of actions that an account is permitted to perform.
        verification:
          type: object
          required:
            - status
          properties:
            verificationStatus:
              type: string
              enum:
                - unverified
                - pending
                - resubmit
                - review
                - verified
                - failed
              description: Possible states an account verification can be in.
              deprecated: true
            status:
              type: string
              enum:
                - unverified
                - pending
                - verified
                - errored
              description: Possible states an account verification can be in.
              deprecated: true
            details:
              type: string
              enum:
                - failedAutoVerify
                - docDobMismatch
                - docNameMismatch
                - docAddressMismatch
                - docNumberMismatch
                - docIncomplete
                - docFailedRisk
                - potentialAccountSanctionsMatch
                - potentialRepresentativeSanctionsMatch
                - failedOther
              description: Additional detail for a verification status.
              deprecated: true
            documents:
              type: array
              items:
                type: object
                required:
                  - documentID
                  - type
                  - contentType
                  - uploadedAt
                properties:
                  documentID:
                    type: string
                    format: uuid
                    example: e07e83e8-9429-4e99-ac99-c941f719eb39
                  type:
                    type: string
                    enum:
                      - driversLicense
                      - passport
                      - utilityBill
                      - bankStatement
                    description: Types of documents that can be uploaded.
                    example: bankStatement
                  contentType:
                    type: string
                    description: The document's MIME type.
                    example: application/pdf
                  parseErrors:
                    type: array
                    items:
                      type: string
                    description: Optional array of errors encountered during automated parsing.
                  uploadedAt:
                    type: string
                    format: date-time
                    example: '2024-05-06T12:20:38.184Z'
          description: Describes identity verification status and relevant identity verification documents.
        foreignID:
          type: string
          maxLength: 64
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          description: Optional alias from a foreign/external system which can be used to reference this resource.
        customerSupport:
          type: object
          properties:
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            website:
              type: string
              format: uri
          description: |-
            User-provided information that can be displayed on credit card transactions for customers to use when
            contacting a customer support team. This data is only allowed on a business account.
        settings:
          type: object
          properties:
            cardPayment:
              type: object
              properties:
                statementDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  pattern: '[a-zA-Z0-9.!*-+_ ]+'
                  description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                  example: Whole Body Fitness
              description: User provided settings to manage card payments. This data is only allowed on a business account.
            achPayment:
              type: object
              required:
                - companyName
              properties:
                companyName:
                  type: string
                  minLength: 1
                  maxLength: 16
                  pattern: '[a-zA-Z0-9- ]+'
                  description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                  example: WholeBodyFitness
          description: User provided settings to manage an account.
        createdOn:
          type: string
          format: date-time
          example: '2024-05-06T12:20:38.184Z'
        updatedOn:
          type: string
          format: date-time
          example: '2024-05-06T12:20:38.184Z'
        disconnectedOn:
          type: string
          format: date-time
          example: '2024-05-06T12:20:38.184Z'
      example:
        mode: sandbox
        accountID: 53ca67ea-6fd3-423f-9544-ce2404159d33
        accountType: business
        displayName: Whole Body Fitness LLC
        profile:
          business:
            legalBusinessName: Whole Body Fitness LLC
            ownersProvided: false
        verification:
          verificationStatus: unverified
          status: unverified
        settings:
          cardPayment:
            statementDescriptor: Whole Body Fitness LLC
          achPayment:
            companyName: Whole Body Fitne
        createdOn: '2024-12-16T17:55:20.557151867Z'
        updatedOn: '2024-12-16T17:55:20.557151867Z'
    AccountCapability:
      type: object
      required:
        - capability
        - status
      properties:
        capability:
          type: string
        status:
          type: string
      description: Describes an action or set of actions that an account is permitted to perform.
    AccountCountries:
      type: object
      required:
        - countries
      properties:
        countries:
          type: array
          items:
            type: string
            maxLength: 64
            example: United States
      description: The countries in which an account operates.
    AccountNameVerification:
      type: object
      properties:
        firstName:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        lastName:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        middleName:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        fullName:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
      description: The results of submitting cardholder name to a card network for verification.
      example:
        firstName: match
        lastName: match
        middleName: match
        fullName: match
    AccountTerminalApplication:
      type: object
      required:
        - accountID
        - terminalApplicationID
      properties:
        accountID:
          type: string
          format: uuid
          description: ID of the merchant account.
          example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
        terminalApplicationID:
          type: string
          format: uuid
          description: ID of the terminal application.
          example: 12345678-1234-1234-1234-123456789012
      description: Describes link between an account and a terminal application.
    AccountTerminalApplicationError:
      type: object
      properties:
        terminalApplicationID:
          type: string
    AccountTerminalApplicationList:
      type: array
      items:
        type: object
        required:
          - accountID
          - terminalApplicationID
        properties:
          accountID:
            type: string
            format: uuid
            description: ID of the merchant account.
            example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
          terminalApplicationID:
            type: string
            format: uuid
            description: ID of the terminal application.
            example: 12345678-1234-1234-1234-123456789012
        description: Describes link between an account and a terminal application.
      description: Describes a list of account terminal applications.
      example:
        - accountID: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
          terminalApplicationID: 12345678-1234-1234-1234-123456789012
    AccountType:
      type: string
      enum:
        - individual
        - business
        - guest
      description: The type of entity represented by this account.
      example: business
    AccountVerificationStatus:
      type: string
      enum:
        - unverified
        - pending
        - resubmit
        - review
        - verified
        - failed
      description: Possible states an account verification can be in.
      deprecated: true
    AchCreditSameDayPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - bankAccount
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - ach-credit-same-day
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
      title: ACH credit same day
    AchCreditStandardPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - bankAccount
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - ach-credit-standard
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
      title: ACH credit standard
    AchDebitCollectPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - bankAccount
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - ach-debit-collect
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
      title: ACH debit collect
    AchDebitFundPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - bankAccount
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - ach-debit-fund
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
      title: ACH debit fund
    AchLocation:
      type: object
      required:
        - address
        - city
        - postalCode
        - postalCodeExtension
        - state
      properties:
        address:
          type: string
          maxLength: 32
          example: 123 Main Street
        city:
          type: string
          maxLength: 24
          example: Boulder
        postalCode:
          type: string
          maxLength: 5
          example: '80301'
        postalCodeExtension:
          type: string
          maxLength: 4
          example: '0000'
        state:
          type: string
          maxLength: 24
          example: Colorado
    AchParticipant:
      type: object
      required:
        - achLocation
        - customerName
        - newRoutingNumber
        - officeCode
        - phoneNumber
        - recordTypeCode
        - revised
        - routingNumber
        - servicingFRBNumber
        - statusCode
        - viewCode
        - cleanName
        - logo
      properties:
        achLocation:
          type: object
          required:
            - address
            - city
            - postalCode
            - postalCodeExtension
            - state
          properties:
            address:
              type: string
              maxLength: 32
              example: 123 Main Street
            city:
              type: string
              maxLength: 24
              example: Boulder
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            postalCodeExtension:
              type: string
              maxLength: 4
              example: '0000'
            state:
              type: string
              maxLength: 24
              example: Colorado
        customerName:
          type: string
          example: Main Street Bank
        newRoutingNumber:
          type: string
          maxLength: 9
          example: '987654321'
        officeCode:
          type: string
          example: '0'
        phoneNumber:
          type: string
          example: '1234567789'
        recordTypeCode:
          type: string
          example: '1'
        revised:
          type: string
          example: '041921'
        routingNumber:
          type: string
          maxLength: 9
          example: '123456789'
        servicingFRBNumber:
          type: string
          example: '123456789'
        statusCode:
          type: string
          example: '1'
        viewCode:
          type: string
          example: '1'
        cleanName:
          type: string
          example: Main Street Bank
        logo:
          type: object
          allOf:
            - type: object
              required:
                - name
                - url
              properties:
                name:
                  type: string
                url:
                  type: string
          nullable: true
          example:
            name: Main Street Bank
            url: https://www.mainstreetbank.com/logo.png
    AddCapabilities:
      type: object
      required:
        - capabilities
      properties:
        capabilities:
          type: array
          items:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
    AddCapabilitiesError:
      type: object
      properties:
        error:
          type: string
        capabilities:
          type: object
          additionalProperties:
            type: string
    Address:
      type: object
      required:
        - addressLine1
        - city
        - stateOrProvince
        - postalCode
        - country
      properties:
        addressLine1:
          type: string
          maxLength: 60
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: 123 Main Street
        addressLine2:
          type: string
          maxLength: 32
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Apt 302
        city:
          type: string
          maxLength: 32
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Boulder
        stateOrProvince:
          type: string
          maxLength: 2
          example: CO
        postalCode:
          type: string
          maxLength: 5
          example: '80301'
        country:
          type: string
          maxLength: 2
          example: US
    AddressError:
      type: object
      properties:
        addressLine1:
          type: string
        addressLine2:
          type: string
        city:
          type: string
        stateOrProvince:
          type: string
        postalCode:
          type: string
        country:
          type: string
    AddressSuggestion:
      type: object
      properties:
        addressLine1:
          type: string
        addressLine2:
          type: string
        city:
          type: string
        entries:
          type: integer
          description: The number of units at an address. For example the number of apartments or businesses in a building.
        postalCode:
          type: string
        stateOrProvince:
          type: string
    AddressUpdate:
      type: object
      properties:
        addressLine1:
          type: string
          maxLength: 60
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: 123 Main Street
        addressLine2:
          type: string
          maxLength: 32
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Apt 302
        city:
          type: string
          maxLength: 32
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Boulder
        stateOrProvince:
          type: string
          maxLength: 2
          example: CO
        postalCode:
          type: string
          maxLength: 5
          example: '80301'
        country:
          type: string
          maxLength: 2
          example: US
    Adjustment:
      type: object
      required:
        - adjustmentID
        - walletID
        - amount
        - createdOn
      properties:
        adjustmentID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
        amount:
          type: object
          required:
            - currency
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                For example, $12.987654321 is '12.987654321'.
              example: '12.987654321'
        createdOn:
          type: string
          format: date-time
      description: An adjustment to a wallet.
    Amount:
      type: object
      required:
        - currency
        - value
      properties:
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        value:
          type: integer
          format: int64
          description: |-
            Quantity in the smallest unit of the specified currency. 

            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
          example: 1204
    AmountDecimal:
      type: object
      required:
        - currency
        - valueDecimal
      properties:
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        valueDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: |-
            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

            For example, $12.987654321 is '12.987654321'.
          example: '12.987654321'
    AmountDecimalValidationError:
      type: object
      properties:
        currency:
          type: string
        valueDecimal:
          type: string
    AmountUpdate:
      type: object
      properties:
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        value:
          type: integer
          format: int64
          description: |-
            Quantity in the smallest unit of the specified currency. 

            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
          example: 1204
    AmountValidationError:
      type: object
      properties:
        currency:
          type: string
        value:
          type: string
    AppleBillingContact:
      type: object
      properties:
        addressLines:
          type: array
          items:
            type: string
          description: Address lines 1 and 2 for the contact.
          example:
            - 123 Sesame Street
        locality:
          type: string
          description: The contact's city.
          example: Phoenix
        postalCode:
          type: string
          description: The contact's postal code.
          example: '30345'
        administrativeArea:
          type: string
          description: The contact's two-letter state code.
          example: AZ
        countryCode:
          type: string
          description: The contact's two-letter ISO 3166
          example: US
      description: |2-
          Billing contact information as returned from Apple Pay.
          
          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentcontact) 
          for more information.
    ApplePayHeader:
      type: object
      required:
        - publicKeyHash
        - transactionId
      properties:
        ephemeralPublicKey:
          type: string
          description: Base64-encoded ephemeral public key, used for ECC-encrypted payment data.
          example: MFkwEK...Md==
        publicKeyHash:
          type: string
          description: A base64-encoded, SHA-256 hash of the merchant's public key.
          example: l0CnXdMv...D1I=
        transactionId:
          type: string
          description: A device-generated identifier for the transaction.
          example: 32b...4f3
      description: |-
        Information needed to decrypt Apple Pay payment data.

        Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) 
        for more information.
    ApplePayMerchantDomains:
      type: object
      required:
        - accountID
        - displayName
        - domains
        - createdOn
        - updatedOn
      properties:
        accountID:
          type: string
        displayName:
          type: string
          maxLength: 64
          description: A UTF-8 string to display in the Buy button.
        domains:
          type: array
          items:
            type: string
          description: A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay.
          example:
            - checkout.classbooker.dev
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
    ApplePayPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - applePay
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - apple-pay
        applePay:
          type: object
          required:
            - brand
            - cardType
            - cardDisplayName
            - fingerprint
            - expiration
            - dynamicLastFour
          properties:
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            cardDisplayName:
              type: string
              description: |2-
                  User-friendly name of the tokenized card returned by Apple.
                  
                  It usually contains the brand and the last four digits of the underlying card.
                  There is no standard format.
              example: Visa 1256
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            dynamicLastFour:
              type: string
              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
            issuerCountry:
              type: string
              description: Country where the underlying card was issued.
              example: US
          description: Describes an Apple Pay token on a Moov account.
      title: Apple Pay
    ApplePayResponse:
      type: object
      required:
        - brand
        - cardType
        - cardDisplayName
        - fingerprint
        - expiration
        - dynamicLastFour
      properties:
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        cardType:
          type: string
          enum:
            - debit
            - credit
            - prepaid
            - unknown
          description: The type of the card.
          example: credit
        cardDisplayName:
          type: string
          description: |2-
              User-friendly name of the tokenized card returned by Apple.
              
              It usually contains the brand and the last four digits of the underlying card.
              There is no standard format.
          example: Visa 1256
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Uniquely identifies a linked payment card or token.
            For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
            This field can be used to identify specific payment methods across multiple accounts on your platform.
          example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        dynamicLastFour:
          type: string
          description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
        issuerCountry:
          type: string
          description: Country where the underlying card was issued.
          example: US
      description: Describes an Apple Pay token on a Moov account.
    ApplePaySession:
      type: string
      description: |-
        Stringified session object returned from Apple Pay.

        The string value should be deserialized as a JSON object before passing to Apple.
      example: '{"epochTimestamp":1733783167685,"expiresAt":1733786767685...}'
    ApplicationScope:
      type: string
      enum:
        - accounts.read
        - accounts.write
        - analytics.read
        - apple-pay-merchant.read
        - apple-pay-merchant.write
        - apple-pay.read
        - apple-pay.write
        - bank-accounts.read
        - bank-accounts.write
        - capabilities.read
        - capabilities.write
        - cards.read
        - cards.write
        - documents.read
        - documents.write
        - fed.read
        - files.read
        - files.write
        - issued-cards.read
        - issued-cards.write
        - issued-cards.read-secure
        - payment-methods.read
        - ping.read
        - profile-enrichment.read
        - profile.read
        - profile.write
        - profile.disconnect
        - representatives.read
        - representatives.write
        - transfers.read
        - transfers.write
        - wallets.read
      description: A permission that the application requests on another account.
    ArrayValidationError:
      type: object
      additionalProperties:
        type: string
      example:
        '0': first element failed validation...
    AssignCountriesError:
      type: object
      required:
        - countries
      properties:
        countries:
          type: object
          additionalProperties:
            type: string
    AsyncCreatedRefund:
      type: object
      required:
        - refundID
        - createdOn
        - amount
      properties:
        refundID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
      description: Asynchronous refund response
      title: Async
    AsyncTransfer:
      type: object
      required:
        - transferID
        - createdOn
      properties:
        transferID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
      title: Async
    AuthToken:
      type: object
      required:
        - token_type
        - access_token
        - refresh_token
        - expires_in
        - scope
      properties:
        token_type:
          type: string
          enum:
            - Bearer
          description: An [RFC 6750](https://www.rfc-editor.org/rfc/rfc6750#section-6.1) token type.
          example: Bearer
        access_token:
          type: string
          maxLength: 4096
          description: A value passed to the authorization server to gain access to the system.
          example: eyJhbGciOiJFZERTQSIsImN0eSI6IkpXVCIsImtpZCI6IkR...
        refresh_token:
          type: string
          maxLength: 4096
          description: A value passed to the authorization server to obtain a new access token.
          example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
        expires_in:
          type: integer
          format: int32
          description: Unix timestamp indicating when this token expires.
          example: 1736964352
        scope:
          type: string
          description: A space-delimited list of [scopes](https://docs.moov.io/api/authentication/scopes/) that are allowed.
          example: /accounts.read /accounts.write
    AuthTokenRequest:
      type: object
      required:
        - grant_type
      properties:
        grant_type:
          type: string
          enum:
            - client_credentials
            - refresh_token
          description: |-
            The type of grant being requested.

              - `client_credentials`: A grant type used by clients to obtain an access token
              - `refresh_token`: A grant type used by clients to obtain a new access token using a refresh token
        client_id:
          type: string
          description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
          example: 5clTR_MdVrrkgxw2
        client_secret:
          type: string
          description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
          example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
        scope:
          type: string
          description: A space delimited list of scopes. Required when `grant_type` is `client_credentials`.
          example: /accounts.read /accounts.write
        refresh_token:
          type: string
          description: The refresh_token returned alongside the access token being refreshed. Required when `grant_type` is `refresh_token`.
          example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
    AuthTokenRequestError:
      type: object
      properties:
        scope:
          type: string
        refresh_token:
          type: string
    AuthorizedUser:
      type: object
      required:
        - firstName
        - lastName
      properties:
        firstName:
          type: string
        lastName:
          type: string
      description: Fields for identifying an authorized individual.
    BankAccount:
      type: object
      required:
        - bankAccountID
        - fingerprint
        - status
        - holderName
        - holderType
        - bankName
        - bankAccountType
        - routingNumber
        - lastFourAccountNumber
        - updatedOn
      properties:
        bankAccountID:
          type: string
          format: uuid
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Once the bank account is linked, we don't reveal the full bank account number.

            The fingerprint acts as a way to identify whether two linked bank accounts are the same.
        status:
          type: string
          enum:
            - new
            - verified
            - verificationFailed
            - pending
            - errored
        holderName:
          type: string
        holderType:
          type: string
          enum:
            - individual
            - business
            - guest
          description: The type of holder on a funding source.
        bankName:
          type: string
        bankAccountType:
          type: string
          enum:
            - checking
            - savings
            - general-ledger
            - loan
          description: The bank account type.
        routingNumber:
          type: string
        lastFourAccountNumber:
          type: string
        updatedOn:
          type: string
          format: date-time
        statusReason:
          type: string
          enum:
            - bank-account-created
            - verification-initiated
            - micro-deposit-attempts-exceeded
            - micro-deposit-expired
            - max-verification-failures
            - verification-attempts-exceeded
            - verification-expired
            - verification-successful
            - ach-debit-return
            - ach-credit-return
            - rtp-credit-failure
            - micro-deposit-return
            - admin-action
            - other
          description: The reason the bank account status changed to the current value.
        exceptionDetails:
          type: object
          required:
            - description
          properties:
            achReturnCode:
              type: string
              enum:
                - R02
                - R03
                - R04
                - R05
                - R07
                - R08
                - R10
                - R11
                - R12
                - R13
                - R14
                - R15
                - R16
                - R17
                - R20
                - R23
                - R29
                - R34
                - R38
                - R39
              description: |-
                The return code of an ACH transaction that caused the bank account status to change.

                - R02: Account Closed
                - R03: No Account/Unable to Locate Account
                - R04: Invalid Account Number
                - R05: Improper Debit to Consumer Account
                - R07: Authorization Revoked by Customer
                - R08: Payment Stopped
                - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                - R12: Branch Sold to Another DFI
                - R13: RDFI not qualified to participate
                - R14: Representative payee deceased or unable to continue in that capacity
                - R15: Beneficiary or bank account holder
                - R16: Bank account frozen
                - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                - R20: Non-payment bank account
                - R23: Credit entry refused by receiver
                - R29: Corporate customer advises not authorized
                - R34: Limited participation RDFI
                - R38: Stop Payment on Source Document (Adjustment Entry)
                - R39: Improper Source Document
            rtpRejectionCode:
              type: string
              enum:
                - AC03
                - AC04
                - AC06
                - AC14
                - AG01
                - AG03
                - MD07
              description: |-
                The rejection code of an RTP transaction that caused the bank account status to change.

                - AC03: Account Invalid
                - AC04: Account Closed
                - AC06: Account Blocked
                - AC14: Creditor Account Type Invalid
                - AG01: Transactions Forbidden On Account
                - AG03: Transaction Type Not Supported
                - MD07: Customer Deceased
            description:
              type: string
              description: Details related to an `errored` or `verificationFailed` bank account status.
          description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
        paymentMethods:
          type: array
          items:
            type: object
            required:
              - paymentMethodID
              - paymentMethodType
            properties:
              paymentMethodID:
                type: string
                format: uuid
                description: ID of the payment method.
              paymentMethodType:
                type: string
                enum:
                  - moov-wallet
                  - ach-debit-fund
                  - ach-debit-collect
                  - ach-credit-standard
                  - ach-credit-same-day
                  - rtp-credit
                  - card-payment
                  - push-to-card
                  - pull-from-card
                  - apple-pay
                  - card-present-payment
                description: The payment method type that represents a payment rail and directionality
          description: |-
            Includes any payment methods generated for a newly created bank account, removing the need to
            call the List Payment Methods endpoint following a successful Create BankAccount request.

            **NOTE: This field is only populated for Create BankAccount requests made with the `X-Wait-For` header.**
      description: Describes a bank account linked to a Moov account.
      example:
        bankAccountID: 833fa3ef-14d3-4c97-ba45-6af66f739832
        fingerprint: dd4cbfe5fbaf47b392770b5b595bec604fd99394749b7d017153e2b9cfbea40e
        status: new
        holderName: John Doe
        holderType: individual
        bankName: Gringotts Bank
        bankAccountType: checking
        routingNumber: '123456780'
        lastFourAccountNumber: '6789'
        updatedOn: '2024-11-26T22:37:06Z'
        statusReason: bank-account-created
    BankAccountException:
      type: object
      required:
        - description
      properties:
        achReturnCode:
          type: string
          enum:
            - R02
            - R03
            - R04
            - R05
            - R07
            - R08
            - R10
            - R11
            - R12
            - R13
            - R14
            - R15
            - R16
            - R17
            - R20
            - R23
            - R29
            - R34
            - R38
            - R39
          description: |-
            The return code of an ACH transaction that caused the bank account status to change.

            - R02: Account Closed
            - R03: No Account/Unable to Locate Account
            - R04: Invalid Account Number
            - R05: Improper Debit to Consumer Account
            - R07: Authorization Revoked by Customer
            - R08: Payment Stopped
            - R10: Customer Advises Originator is Not Known or Authorized to Receiver
            - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
            - R12: Branch Sold to Another DFI
            - R13: RDFI not qualified to participate
            - R14: Representative payee deceased or unable to continue in that capacity
            - R15: Beneficiary or bank account holder
            - R16: Bank account frozen
            - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
            - R20: Non-payment bank account
            - R23: Credit entry refused by receiver
            - R29: Corporate customer advises not authorized
            - R34: Limited participation RDFI
            - R38: Stop Payment on Source Document (Adjustment Entry)
            - R39: Improper Source Document
        rtpRejectionCode:
          type: string
          enum:
            - AC03
            - AC04
            - AC06
            - AC14
            - AG01
            - AG03
            - MD07
          description: |-
            The rejection code of an RTP transaction that caused the bank account status to change.

            - AC03: Account Invalid
            - AC04: Account Closed
            - AC06: Account Blocked
            - AC14: Creditor Account Type Invalid
            - AG01: Transactions Forbidden On Account
            - AG03: Transaction Type Not Supported
            - MD07: Customer Deceased
        description:
          type: string
          description: Details related to an `errored` or `verificationFailed` bank account status.
      description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
    BankAccountHolderType:
      type: string
      enum:
        - individual
        - business
        - guest
      description: The type of holder on a funding source.
    BankAccountIntegration:
      type: object
      required:
        - holderName
        - holderType
        - accountNumber
        - bankAccountType
        - routingNumber
      properties:
        holderName:
          type: string
        holderType:
          type: string
          enum:
            - individual
            - business
            - guest
          description: The type of holder on a funding source.
        accountNumber:
          type: string
        bankAccountType:
          type: string
          enum:
            - checking
            - savings
            - general-ledger
            - loan
          description: The bank account type.
        routingNumber:
          type: string
    BankAccountPayload:
      type: object
      required:
        - account
      properties:
        account:
          type: object
          required:
            - holderName
            - holderType
            - accountNumber
            - bankAccountType
            - routingNumber
          properties:
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            accountNumber:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
      description: Describes the bank account to link to the Moov account.
      title: Bank account
    BankAccountStatus:
      type: string
      enum:
        - new
        - verified
        - verificationFailed
        - pending
        - errored
    BankAccountStatusReason:
      type: string
      enum:
        - bank-account-created
        - verification-initiated
        - micro-deposit-attempts-exceeded
        - micro-deposit-expired
        - max-verification-failures
        - verification-attempts-exceeded
        - verification-expired
        - verification-successful
        - ach-debit-return
        - ach-credit-return
        - rtp-credit-failure
        - micro-deposit-return
        - admin-action
        - other
      description: The reason the bank account status changed to the current value.
    BankAccountType:
      type: string
      enum:
        - checking
        - savings
        - general-ledger
        - loan
      description: The bank account type.
    BankAccountValidationError:
      type: object
      properties:
        account:
          type: string
        plaid:
          type: string
        plaidLink:
          type: string
        mx:
          type: string
        error:
          type: string
    BankAccountVerification:
      type: object
      required:
        - verificationMethod
        - status
      properties:
        verificationMethod:
          type: string
          enum:
            - instant
            - ach
        status:
          type: string
          enum:
            - new
            - sent-credit
            - max-attempts-exceeded
            - failed
            - expired
            - successful
        exceptionDetails:
          type: object
          required:
            - description
          properties:
            achReturnCode:
              type: string
              enum:
                - R02
                - R03
                - R04
                - R05
                - R07
                - R08
                - R10
                - R11
                - R12
                - R13
                - R14
                - R15
                - R16
                - R17
                - R20
                - R23
                - R29
                - R34
                - R38
                - R39
              description: |-
                The return code of an ACH transaction that caused the bank account status to change.

                - R02: Account Closed
                - R03: No Account/Unable to Locate Account
                - R04: Invalid Account Number
                - R05: Improper Debit to Consumer Account
                - R07: Authorization Revoked by Customer
                - R08: Payment Stopped
                - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                - R12: Branch Sold to Another DFI
                - R13: RDFI not qualified to participate
                - R14: Representative payee deceased or unable to continue in that capacity
                - R15: Beneficiary or bank account holder
                - R16: Bank account frozen
                - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                - R20: Non-payment bank account
                - R23: Credit entry refused by receiver
                - R29: Corporate customer advises not authorized
                - R34: Limited participation RDFI
                - R38: Stop Payment on Source Document (Adjustment Entry)
                - R39: Improper Source Document
            rtpRejectionCode:
              type: string
              enum:
                - AC03
                - AC04
                - AC06
                - AC14
                - AG01
                - AG03
                - MD07
              description: |-
                The rejection code of an RTP transaction that caused the bank account status to change.

                - AC03: Account Invalid
                - AC04: Account Closed
                - AC06: Account Blocked
                - AC14: Creditor Account Type Invalid
                - AG01: Transactions Forbidden On Account
                - AG03: Transaction Type Not Supported
                - MD07: Customer Deceased
            description:
              type: string
              description: Details related to an `errored` or `verificationFailed` bank account status.
          description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
    BankAccountVerificationCreated:
      type: object
      required:
        - verificationMethod
        - status
      properties:
        verificationMethod:
          type: string
          enum:
            - instant
            - ach
        status:
          type: string
          enum:
            - new
            - sent-credit
            - max-attempts-exceeded
            - failed
            - expired
            - successful
    BankAccountVerificationMethod:
      type: string
      enum:
        - instant
        - ach
    BankAccountVerificationStatus:
      type: string
      enum:
        - new
        - sent-credit
        - max-attempts-exceeded
        - failed
        - expired
        - successful
    BankAccountWaitFor:
      type: string
      enum:
        - payment-method
        - rail-response
    BasicPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - moov-wallet
            - ach-debit-fund
            - ach-debit-collect
            - ach-credit-standard
            - ach-credit-same-day
            - rtp-credit
            - card-payment
            - push-to-card
            - pull-from-card
            - apple-pay
            - card-present-payment
          description: The payment method type that represents a payment rail and directionality
    BillableFee:
      type: object
      required:
        - feeModel
        - feeCategory
      properties:
        billableFeeID:
          type: string
          format: uuid
        billableEvent:
          type: string
          description: A unique code identifying a charge.
        feeName:
          type: string
          description: Specifies the name of the fee that will be billed.
        feeModel:
          type: string
          enum:
            - fixed
            - blended
            - variable
          description: Specifies the pricing model used for the calculation of the final fee.
        feeCategory:
          type: string
          enum:
            - ach
            - card-acquiring
            - card-other
            - card-pull
            - card-push
            - monthly-platform
            - network-passthrough
            - other
            - rtp
        feeProperties:
          type: object
          properties:
            fixedAmount:
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
            variableRate:
              type: string
              pattern: ^[0-9]+.?[0-9]*$
              description: |-
                A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                For example, 0.05% is '0.05'.
              example: '0.05'
            minPerTransaction:
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
            maxPerTransaction:
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
          description: Defines the specific parameters used for fee calculation.
          example:
            fixedAmount:
              currency: USD
              valueDecimal: '0.0195'
            variableRate: '0.15'
            minPerTransaction:
              currency: USD
              valueDecimal: '0.0195'
            maxPerTransaction:
              currency: USD
              valueDecimal: '0.035'
        feeConditions:
          type: object
          additionalProperties: {}
          description: Defines the specific conditions that must be met for the fee to be applied.
          example:
            cardBrand:
              - visa
      example:
        billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
        billableEvent: card-auth-volume
        feeName: Card decline fee
        feeModel: fixed
        feeCategory: card-acquiring
        feeProperties:
          fixedAmount:
            currency: USD
            valueDecimal: '0.1'
        feeConditions:
          transactionType:
            - decline
    BillingCountAndAmount:
      type: object
      required:
        - count
        - amount
      properties:
        count:
          type: integer
          format: int64
          description: The number of items.
        amount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount.
      description: Represents a count of items and their total amount.
    BillingInterchangeProgramFee:
      type: object
      required:
        - programName
        - count
        - percentageRate
        - perItemRate
        - total
        - transferVolume
      properties:
        programName:
          type: string
          description: The name of the interchange program.
        count:
          type: integer
          format: int64
          description: The number of transactions for this program.
        percentageRate:
          type: number
          format: decimal
          description: The percentage rate for this program.
        perItemRate:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The per-item rate for this program.
        total:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total fee amount for this program.
        transferVolume:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total transfer volume for this program.
      description: Details of a specific interchange program fee.
    BillingSummary:
      type: object
      properties:
        cardAcquiring:
          type: object
          properties:
            volumeAmount:
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: The total transaction volume amount.
            volumeCount:
              type: integer
              format: int64
              description: The total number of transactions.
            feeAmount:
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: The total fee amount.
            interchangeFees:
              allOf:
                - type: object
                  required:
                    - visa
                    - mastercard
                    - discover
                    - americanExpress
                  properties:
                    visa:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Total interchange fees for Visa.
                    mastercard:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Total interchange fees for Mastercard.
                    discover:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Total interchange fees for Discover.
                    americanExpress:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: Total interchange fees for American Express.
                  description: A summary of interchange fees by card brand.
              description: A summary of interchange fees by card brand.
          description: A summary of card acquiring volume and fees.
        ach:
          allOf:
            - type: object
              properties:
                volumeAmount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total transaction volume amount.
                volumeCount:
                  type: integer
                  format: int64
                  description: The total number of transactions.
                feeAmount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total fee amount.
              description: Details of volume and fees for a specific payment method.
          description: A summary of ACH volume and fees.
        instantPayments:
          allOf:
            - type: object
              properties:
                volumeAmount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total transaction volume amount.
                volumeCount:
                  type: integer
                  format: int64
                  description: The total number of transactions.
                feeAmount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total fee amount.
              description: Details of volume and fees for a specific payment method.
          description: A summary of instant payment volume and fees.
        platformFees:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount of platform fees.
        adjustmentFees:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount of adjustment fees.
        otherFees:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount of other fees.
        total:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount of all fees.
      description: A summary of all fees included in a statement.
    BillingSummaryDetails:
      type: object
      properties:
        volumeAmount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total transaction volume amount.
        volumeCount:
          type: integer
          format: int64
          description: The total number of transactions.
        feeAmount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total fee amount.
      description: Details of volume and fees for a specific payment method.
    BillingSummaryInterchange:
      type: object
      required:
        - visa
        - mastercard
        - discover
        - americanExpress
      properties:
        visa:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Total interchange fees for Visa.
        mastercard:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Total interchange fees for Mastercard.
        discover:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Total interchange fees for Discover.
        americanExpress:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Total interchange fees for American Express.
      description: A summary of interchange fees by card brand.
    BirthDate:
      type: object
      required:
        - day
        - month
        - year
      properties:
        day:
          type: integer
          example: 9
        month:
          type: integer
          example: 11
        year:
          type: integer
          example: 1989
    BirthDateError:
      type: object
      properties:
        day:
          type: string
        month:
          type: string
        year:
          type: string
    BirthDateUpdate:
      type: object
      properties:
        day:
          type: integer
          example: 9
        month:
          type: integer
          example: 11
        year:
          type: integer
          example: 1989
    BirthDateValidationError:
      type: object
      properties:
        day:
          type: string
        month:
          type: string
        year:
          type: string
    BrandColor:
      type: object
      required:
        - accent
      properties:
        accent:
          type: string
          description: A CSS hex color representing an accent color.
          example: '#111111'
    BrandColorValidationError:
      type: object
      properties:
        accent:
          type: string
    BrandColors:
      type: object
      required:
        - dark
        - light
      properties:
        dark:
          type: object
          required:
            - accent
          properties:
            accent:
              type: string
              description: A CSS hex color representing an accent color.
              example: '#111111'
        light:
          type: object
          required:
            - accent
          properties:
            accent:
              type: string
              description: A CSS hex color representing an accent color.
              example: '#111111'
      description: Brand colors for light and dark modes.
    BrandProperties:
      type: object
      required:
        - colors
      properties:
        colors:
          type: object
          required:
            - dark
            - light
          properties:
            dark:
              type: object
              required:
                - accent
              properties:
                accent:
                  type: string
                  description: A CSS hex color representing an accent color.
                  example: '#111111'
            light:
              type: object
              required:
                - accent
              properties:
                accent:
                  type: string
                  description: A CSS hex color representing an accent color.
                  example: '#111111'
          description: Brand colors for light and dark modes.
    BrandValidationError:
      type: object
      properties:
        colors:
          type: object
          properties:
            light:
              type: object
              properties:
                accent:
                  type: string
            dark:
              type: object
              properties:
                accent:
                  type: string
    BusinessPresence:
      type: string
      enum:
        - commercial-office
        - home-based
        - mixed-presence
        - mobile-business
        - online-only
        - retail-storefront
    BusinessProfile:
      type: object
      required:
        - legalBusinessName
        - ownersProvided
      properties:
        legalBusinessName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
          description: The legal name under which the entity is registered.
          example: Classbooker, LLC
        doingBusinessAs:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
          description: A registered trade name under which the business operates, if different from its legal name.
        businessType:
          type: string
          enum:
            - soleProprietorship
            - unincorporatedAssociation
            - trust
            - publicCorporation
            - privateCorporation
            - llc
            - partnership
            - unincorporatedNonProfit
            - incorporatedNonProfit
            - governmentEntity
          description: The type of entity represented by this business.
          example: llc
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        website:
          type: string
          format: uri
          maxLength: 100
        description:
          type: string
          minLength: 10
          maxLength: 100
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Local fitness gym paying out instructors
        taxIDProvided:
          type: boolean
          description: Indicates whether a tax ID has been provided for this business.
        representatives:
          type: array
          items:
            type: object
            required:
              - representativeID
              - name
              - createdOn
              - updatedOn
            properties:
              representativeID:
                type: string
                format: uuid
                description: Unique identifier for this representative.
              name:
                type: object
                required:
                  - firstName
                  - lastName
                properties:
                  firstName:
                    type: string
                    maxLength: 64
                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                    description: The individual's first given name.
                    example: Jordan
                  middleName:
                    type: string
                    maxLength: 64
                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                    description: The individual's second given name, if any.
                    example: Reese
                  lastName:
                    type: string
                    maxLength: 64
                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                    description: The individual's family name.
                    example: Lee
                  suffix:
                    type: string
                    maxLength: 20
                    pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                    description: Suffix of a given name.
                    example: Jr
              phone:
                type: object
                properties:
                  number:
                    type: string
                    maxLength: 10
                    example: '8185551212'
                  countryCode:
                    type: string
                    maxLength: 1
                    example: '1'
              email:
                type: string
                maxLength: 255
                format: email
                example: jordan.lee@classbooker.dev
              address:
                type: object
                required:
                  - addressLine1
                  - city
                  - stateOrProvince
                  - postalCode
                  - country
                properties:
                  addressLine1:
                    type: string
                    maxLength: 60
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: 123 Main Street
                  addressLine2:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Apt 302
                  city:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Boulder
                  stateOrProvince:
                    type: string
                    maxLength: 2
                    example: CO
                  postalCode:
                    type: string
                    maxLength: 5
                    example: '80301'
                  country:
                    type: string
                    maxLength: 2
                    example: US
              birthDateProvided:
                type: boolean
                description: Indicates whether this representative's birth date has been provided.
              governmentIDProvided:
                type: boolean
                description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
              responsibilities:
                type: object
                properties:
                  isController:
                    type: boolean
                    description: Indicates whether this individual has significant management responsibilities within the business.
                  isOwner:
                    type: boolean
                    description: |-
                      If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                      business. If the representative does not own at least 25% of the business, this field should be `false`.
                  ownershipPercentage:
                    type: integer
                    description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                    example: 38
                  jobTitle:
                    type: string
                    maxLength: 64
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: CEO
                description: Describes the job responsibilities of a business representative.
              createdOn:
                type: string
                format: date-time
              updatedOn:
                type: string
                format: date-time
              disabledOn:
                type: string
                format: date-time
            description: Describes a business representative.
        ownersProvided:
          type: boolean
        industryCodes:
          type: object
          properties:
            naics:
              type: string
              minLength: 2
              maxLength: 6
              example: '713940'
            sic:
              type: string
              minLength: 4
              maxLength: 4
              example: '7991'
            mcc:
              type: string
              minLength: 4
              maxLength: 4
              example: '7997'
        primaryRegulator:
          type: string
          enum:
            - OCC
            - FDIC
            - NCUA
            - FRB
            - state-cu-regulator
          description: If the business is a financial institution, this field describes its primary regulator.
      description: Describes a business.
    BusinessType:
      type: string
      enum:
        - soleProprietorship
        - unincorporatedAssociation
        - trust
        - publicCorporation
        - privateCorporation
        - llc
        - partnership
        - unincorporatedNonProfit
        - incorporatedNonProfit
        - governmentEntity
      description: The type of entity represented by this business.
      example: llc
    CallToAction:
      type: string
      enum:
        - pay
        - book
        - subscribe
        - donate
        - confirm
        - auto
      description: |-
        The text to be displayed on web form's submit button.

        If set to "auto" the UI will automatically select between 
        "pay" and "confirm" for payments and payouts respectively.
    Cancellation:
      type: object
      required:
        - cancellationID
        - status
        - createdOn
      properties:
        cancellationID:
          type: string
        status:
          type: string
          enum:
            - pending
            - completed
            - failed
        createdOn:
          type: string
          format: date-time
    CancellationStatus:
      type: string
      enum:
        - pending
        - completed
        - failed
    CapabilitiesError:
      type: object
      properties:
        error:
          type: string
        capabilities:
          type: object
          additionalProperties:
            type: string
    Capability:
      type: object
      required:
        - capability
        - accountID
        - status
        - createdOn
        - updatedOn
      properties:
        capability:
          type: string
          enum:
            - transfers
            - send-funds
            - send-funds.push-to-card
            - money-transfer.push-to-card
            - send-funds.ach
            - send-funds.rtp
            - send-funds.instant-bank
            - collect-funds
            - collect-funds.card-payments
            - money-transfer.pull-from-card
            - collect-funds.ach
            - wallet
            - wallet.balance
            - card-issuing
            - production-app
            - platform.production-app
            - platform.wallet-transfers
          description: |-
            Moov account capabilities.

            The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
        accountID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - enabled
            - disabled
            - pending
            - in-review
          description: The status of the capability requested for an account.
        requirements:
          type: object
          properties:
            currentlyDue:
              type: array
              items:
                type: string
                enum:
                  - account.tos-acceptance
                  - individual.mobile
                  - individual.email
                  - individual.email-or-mobile
                  - individual.firstname
                  - individual.lastname
                  - individual.address
                  - individual.ssn-last4
                  - individual.ssn
                  - individual.birthdate
                  - business.legalname
                  - business.description-or-website
                  - business.entity-type
                  - business.business-type
                  - business.dba
                  - business.ein
                  - business.address
                  - business.phone
                  - business.admins
                  - business.controllers
                  - business.owners
                  - business.classification
                  - business.industry-code-mcc
                  - business.indicate-owners-provided
                  - business.average-transaction-size
                  - business.max-transaction-size
                  - business.average-monthly-transaction-volume
                  - business.volume-by-customer-type
                  - business.card-volume-distribution
                  - business.fulfillment
                  - business.description
                  - business.underwriting-documents-tier-one
                  - bank-accounts.name
                  - bank-accounts.routing-number
                  - bank-accounts.account-number
                  - document.business.verification
                  - document.individual.tin
                  - document.individual.verification
                  - document.representative.{rep-uuid}.tin
                  - document.representative.{rep-uuid}.verification
                  - representative.{rep-uuid}.mobile
                  - representative.{rep-uuid}.email
                  - representative.{rep-uuid}.email-or-mobile
                  - representative.{rep-uuid}.firstname
                  - representative.{rep-uuid}.lastname
                  - representative.{rep-uuid}.address
                  - representative.{rep-uuid}.ssn-last4
                  - representative.{rep-uuid}.ssn
                  - representative.{rep-uuid}.birthdate
                  - representative.{rep-uuid}.job-title
                  - representative.{rep-uuid}.is-controller
                  - representative.{rep-uuid}.is-owner
                  - representative.{rep-uuid}.ownership
                  - document.{doc-uuid}
                  - underwriting.businessPresence
                  - underwriting.geographicReach
                  - underwriting.volumeShareByCustomerType
                  - underwriting.pendingLitigation
                  - underwriting.documents.processingStatementsPast3Months
                  - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                  - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                  - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                  - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                  - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                  - underwriting.collectFunds.cardPayments.fulfillment
                  - underwriting.collectFunds.cardPayments.refundPolicy
                  - underwriting.collectFunds.ach.cardAcceptanceMethods
                  - underwriting.collectFunds.ach.currentlyAcceptsCards
                  - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                  - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                  - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                  - underwriting.collectFunds.ach.fulfillment
                  - underwriting.collectFunds.ach.refundPolicy
                  - underwriting.sendFunds.ach.cardAcceptanceMethods
                  - underwriting.sendFunds.ach.currentlyAcceptsCards
                  - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.ach.fulfillment
                  - underwriting.sendFunds.ach.refundPolicy
                  - underwriting.sendFunds.rtp.cardAcceptanceMethods
                  - underwriting.sendFunds.rtp.currentlyAcceptsCards
                  - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.rtp.fulfillment
                  - underwriting.sendFunds.rtp.refundPolicy
                  - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                  - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                  - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.pushToCard.fulfillment
                  - underwriting.sendFunds.pushToCard.refundPolicy
                  - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                  - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.moneyTransfer.pullFromCard.fulfillment
                  - underwriting.moneyTransfer.pullFromCard.refundPolicy
                  - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                  - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.moneyTransfer.pushToCard.fulfillment
                  - underwriting.moneyTransfer.pushToCard.refundPolicy
                description: The unique ID of what the requirement is asking to be filled out.
            errors:
              type: array
              items:
                type: object
                required:
                  - requirement
                properties:
                  requirement:
                    type: string
                    enum:
                      - account.tos-acceptance
                      - individual.mobile
                      - individual.email
                      - individual.email-or-mobile
                      - individual.firstname
                      - individual.lastname
                      - individual.address
                      - individual.ssn-last4
                      - individual.ssn
                      - individual.birthdate
                      - business.legalname
                      - business.description-or-website
                      - business.entity-type
                      - business.business-type
                      - business.dba
                      - business.ein
                      - business.address
                      - business.phone
                      - business.admins
                      - business.controllers
                      - business.owners
                      - business.classification
                      - business.industry-code-mcc
                      - business.indicate-owners-provided
                      - business.average-transaction-size
                      - business.max-transaction-size
                      - business.average-monthly-transaction-volume
                      - business.volume-by-customer-type
                      - business.card-volume-distribution
                      - business.fulfillment
                      - business.description
                      - business.underwriting-documents-tier-one
                      - bank-accounts.name
                      - bank-accounts.routing-number
                      - bank-accounts.account-number
                      - document.business.verification
                      - document.individual.tin
                      - document.individual.verification
                      - document.representative.{rep-uuid}.tin
                      - document.representative.{rep-uuid}.verification
                      - representative.{rep-uuid}.mobile
                      - representative.{rep-uuid}.email
                      - representative.{rep-uuid}.email-or-mobile
                      - representative.{rep-uuid}.firstname
                      - representative.{rep-uuid}.lastname
                      - representative.{rep-uuid}.address
                      - representative.{rep-uuid}.ssn-last4
                      - representative.{rep-uuid}.ssn
                      - representative.{rep-uuid}.birthdate
                      - representative.{rep-uuid}.job-title
                      - representative.{rep-uuid}.is-controller
                      - representative.{rep-uuid}.is-owner
                      - representative.{rep-uuid}.ownership
                      - document.{doc-uuid}
                      - underwriting.businessPresence
                      - underwriting.geographicReach
                      - underwriting.volumeShareByCustomerType
                      - underwriting.pendingLitigation
                      - underwriting.documents.processingStatementsPast3Months
                      - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                      - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                      - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                      - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                      - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                      - underwriting.collectFunds.cardPayments.fulfillment
                      - underwriting.collectFunds.cardPayments.refundPolicy
                      - underwriting.collectFunds.ach.cardAcceptanceMethods
                      - underwriting.collectFunds.ach.currentlyAcceptsCards
                      - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                      - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                      - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                      - underwriting.collectFunds.ach.fulfillment
                      - underwriting.collectFunds.ach.refundPolicy
                      - underwriting.sendFunds.ach.cardAcceptanceMethods
                      - underwriting.sendFunds.ach.currentlyAcceptsCards
                      - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                      - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                      - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                      - underwriting.sendFunds.ach.fulfillment
                      - underwriting.sendFunds.ach.refundPolicy
                      - underwriting.sendFunds.rtp.cardAcceptanceMethods
                      - underwriting.sendFunds.rtp.currentlyAcceptsCards
                      - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                      - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                      - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                      - underwriting.sendFunds.rtp.fulfillment
                      - underwriting.sendFunds.rtp.refundPolicy
                      - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                      - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                      - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                      - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                      - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                      - underwriting.sendFunds.pushToCard.fulfillment
                      - underwriting.sendFunds.pushToCard.refundPolicy
                      - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                      - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                      - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                      - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                      - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                      - underwriting.moneyTransfer.pullFromCard.fulfillment
                      - underwriting.moneyTransfer.pullFromCard.refundPolicy
                      - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                      - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                      - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                      - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                      - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                      - underwriting.moneyTransfer.pushToCard.fulfillment
                      - underwriting.moneyTransfer.pushToCard.refundPolicy
                    description: The unique ID of what the requirement is asking to be filled out.
                  errorCode:
                    type: string
                    enum:
                      - invalid-value
                      - failed-automatic-verification
                      - failed-other
                      - invalid-address
                      - address-restricted
                      - tax-id-mismatch
                      - document-id-mismatch
                      - document-date-of-birth-mismatch
                      - document-name-mismatch
                      - document-address.mismatch
                      - document-number-mismatch
                      - document-incomplete
                      - document-failed-risk
                      - document-illegible
                      - document-unsupported
                      - document-not-uploaded
                      - document-corrupt
                      - document-expired
          description: Represents individual and business data necessary to facilitate the enabling of a capability for an account.
        disabledReason:
          type: string
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        disabledOn:
          type: string
          format: date-time
    CapabilityID:
      type: string
      enum:
        - transfers
        - send-funds
        - send-funds.push-to-card
        - money-transfer.push-to-card
        - send-funds.ach
        - send-funds.rtp
        - send-funds.instant-bank
        - collect-funds
        - collect-funds.card-payments
        - money-transfer.pull-from-card
        - collect-funds.ach
        - wallet
        - wallet.balance
        - card-issuing
        - production-app
        - platform.production-app
        - platform.wallet-transfers
      description: |-
        Moov account capabilities.

        The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
    CapabilityRequirement:
      type: object
      properties:
        currentlyDue:
          type: array
          items:
            type: string
            enum:
              - account.tos-acceptance
              - individual.mobile
              - individual.email
              - individual.email-or-mobile
              - individual.firstname
              - individual.lastname
              - individual.address
              - individual.ssn-last4
              - individual.ssn
              - individual.birthdate
              - business.legalname
              - business.description-or-website
              - business.entity-type
              - business.business-type
              - business.dba
              - business.ein
              - business.address
              - business.phone
              - business.admins
              - business.controllers
              - business.owners
              - business.classification
              - business.industry-code-mcc
              - business.indicate-owners-provided
              - business.average-transaction-size
              - business.max-transaction-size
              - business.average-monthly-transaction-volume
              - business.volume-by-customer-type
              - business.card-volume-distribution
              - business.fulfillment
              - business.description
              - business.underwriting-documents-tier-one
              - bank-accounts.name
              - bank-accounts.routing-number
              - bank-accounts.account-number
              - document.business.verification
              - document.individual.tin
              - document.individual.verification
              - document.representative.{rep-uuid}.tin
              - document.representative.{rep-uuid}.verification
              - representative.{rep-uuid}.mobile
              - representative.{rep-uuid}.email
              - representative.{rep-uuid}.email-or-mobile
              - representative.{rep-uuid}.firstname
              - representative.{rep-uuid}.lastname
              - representative.{rep-uuid}.address
              - representative.{rep-uuid}.ssn-last4
              - representative.{rep-uuid}.ssn
              - representative.{rep-uuid}.birthdate
              - representative.{rep-uuid}.job-title
              - representative.{rep-uuid}.is-controller
              - representative.{rep-uuid}.is-owner
              - representative.{rep-uuid}.ownership
              - document.{doc-uuid}
              - underwriting.businessPresence
              - underwriting.geographicReach
              - underwriting.volumeShareByCustomerType
              - underwriting.pendingLitigation
              - underwriting.documents.processingStatementsPast3Months
              - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
              - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
              - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
              - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
              - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
              - underwriting.collectFunds.cardPayments.fulfillment
              - underwriting.collectFunds.cardPayments.refundPolicy
              - underwriting.collectFunds.ach.cardAcceptanceMethods
              - underwriting.collectFunds.ach.currentlyAcceptsCards
              - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
              - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
              - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
              - underwriting.collectFunds.ach.fulfillment
              - underwriting.collectFunds.ach.refundPolicy
              - underwriting.sendFunds.ach.cardAcceptanceMethods
              - underwriting.sendFunds.ach.currentlyAcceptsCards
              - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
              - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
              - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
              - underwriting.sendFunds.ach.fulfillment
              - underwriting.sendFunds.ach.refundPolicy
              - underwriting.sendFunds.rtp.cardAcceptanceMethods
              - underwriting.sendFunds.rtp.currentlyAcceptsCards
              - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
              - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
              - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
              - underwriting.sendFunds.rtp.fulfillment
              - underwriting.sendFunds.rtp.refundPolicy
              - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
              - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
              - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
              - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
              - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
              - underwriting.sendFunds.pushToCard.fulfillment
              - underwriting.sendFunds.pushToCard.refundPolicy
              - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
              - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
              - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
              - underwriting.moneyTransfer.pullFromCard.fulfillment
              - underwriting.moneyTransfer.pullFromCard.refundPolicy
              - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
              - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
              - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
              - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
              - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
              - underwriting.moneyTransfer.pushToCard.fulfillment
              - underwriting.moneyTransfer.pushToCard.refundPolicy
            description: The unique ID of what the requirement is asking to be filled out.
        errors:
          type: array
          items:
            type: object
            required:
              - requirement
            properties:
              requirement:
                type: string
                enum:
                  - account.tos-acceptance
                  - individual.mobile
                  - individual.email
                  - individual.email-or-mobile
                  - individual.firstname
                  - individual.lastname
                  - individual.address
                  - individual.ssn-last4
                  - individual.ssn
                  - individual.birthdate
                  - business.legalname
                  - business.description-or-website
                  - business.entity-type
                  - business.business-type
                  - business.dba
                  - business.ein
                  - business.address
                  - business.phone
                  - business.admins
                  - business.controllers
                  - business.owners
                  - business.classification
                  - business.industry-code-mcc
                  - business.indicate-owners-provided
                  - business.average-transaction-size
                  - business.max-transaction-size
                  - business.average-monthly-transaction-volume
                  - business.volume-by-customer-type
                  - business.card-volume-distribution
                  - business.fulfillment
                  - business.description
                  - business.underwriting-documents-tier-one
                  - bank-accounts.name
                  - bank-accounts.routing-number
                  - bank-accounts.account-number
                  - document.business.verification
                  - document.individual.tin
                  - document.individual.verification
                  - document.representative.{rep-uuid}.tin
                  - document.representative.{rep-uuid}.verification
                  - representative.{rep-uuid}.mobile
                  - representative.{rep-uuid}.email
                  - representative.{rep-uuid}.email-or-mobile
                  - representative.{rep-uuid}.firstname
                  - representative.{rep-uuid}.lastname
                  - representative.{rep-uuid}.address
                  - representative.{rep-uuid}.ssn-last4
                  - representative.{rep-uuid}.ssn
                  - representative.{rep-uuid}.birthdate
                  - representative.{rep-uuid}.job-title
                  - representative.{rep-uuid}.is-controller
                  - representative.{rep-uuid}.is-owner
                  - representative.{rep-uuid}.ownership
                  - document.{doc-uuid}
                  - underwriting.businessPresence
                  - underwriting.geographicReach
                  - underwriting.volumeShareByCustomerType
                  - underwriting.pendingLitigation
                  - underwriting.documents.processingStatementsPast3Months
                  - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
                  - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
                  - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
                  - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
                  - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
                  - underwriting.collectFunds.cardPayments.fulfillment
                  - underwriting.collectFunds.cardPayments.refundPolicy
                  - underwriting.collectFunds.ach.cardAcceptanceMethods
                  - underwriting.collectFunds.ach.currentlyAcceptsCards
                  - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
                  - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
                  - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
                  - underwriting.collectFunds.ach.fulfillment
                  - underwriting.collectFunds.ach.refundPolicy
                  - underwriting.sendFunds.ach.cardAcceptanceMethods
                  - underwriting.sendFunds.ach.currentlyAcceptsCards
                  - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.ach.fulfillment
                  - underwriting.sendFunds.ach.refundPolicy
                  - underwriting.sendFunds.rtp.cardAcceptanceMethods
                  - underwriting.sendFunds.rtp.currentlyAcceptsCards
                  - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.rtp.fulfillment
                  - underwriting.sendFunds.rtp.refundPolicy
                  - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
                  - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
                  - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
                  - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.sendFunds.pushToCard.fulfillment
                  - underwriting.sendFunds.pushToCard.refundPolicy
                  - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
                  - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.moneyTransfer.pullFromCard.fulfillment
                  - underwriting.moneyTransfer.pullFromCard.refundPolicy
                  - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
                  - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
                  - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
                  - underwriting.moneyTransfer.pushToCard.fulfillment
                  - underwriting.moneyTransfer.pushToCard.refundPolicy
                description: The unique ID of what the requirement is asking to be filled out.
              errorCode:
                type: string
                enum:
                  - invalid-value
                  - failed-automatic-verification
                  - failed-other
                  - invalid-address
                  - address-restricted
                  - tax-id-mismatch
                  - document-id-mismatch
                  - document-date-of-birth-mismatch
                  - document-name-mismatch
                  - document-address.mismatch
                  - document-number-mismatch
                  - document-incomplete
                  - document-failed-risk
                  - document-illegible
                  - document-unsupported
                  - document-not-uploaded
                  - document-corrupt
                  - document-expired
      description: Represents individual and business data necessary to facilitate the enabling of a capability for an account.
    CapabilityStatus:
      type: string
      enum:
        - enabled
        - disabled
        - pending
        - in-review
      description: The status of the capability requested for an account.
    Card:
      type: object
      required:
        - cardID
        - fingerprint
        - brand
        - cardType
        - lastFourCardNumber
        - bin
        - expiration
        - billingAddress
        - cardVerification
      properties:
        cardID:
          type: string
          format: uuid
          description: ID of the card.
          example: 01234567-89ab-cdef-0123-456789abcdef
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Uniquely identifies a linked payment card or token.
            For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
            This field can be used to identify specific payment methods across multiple accounts on your platform.
          example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        cardType:
          type: string
          enum:
            - debit
            - credit
            - prepaid
            - unknown
          description: The type of the card.
          example: credit
        cardCategory:
          type: string
          description: |-
            The category or level of the card defined by the issuer.
            Examples include, but not limited to, "REWARDS", "TRADITIONAL REWARDS", "CLASSIC", and "CORPORATE PURCHASING".
        lastFourCardNumber:
          type: string
          minLength: 4
          maxLength: 4
          description: Last four digits of the card number
        bin:
          type: string
          minLength: 6
          maxLength: 8
          description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        holderName:
          type: string
          description: The name of the cardholder as it appears on the card.
        billingAddress:
          type: object
          required:
            - postalCode
          properties:
            addressLine1:
              type: string
              maxLength: 60
            addressLine2:
              type: string
              maxLength: 32
            city:
              type: string
              maxLength: 32
            stateOrProvince:
              type: string
              maxLength: 2
            postalCode:
              type: string
              maxLength: 10
            country:
              type: string
              maxLength: 2
          example:
            addressLine1: 123 Main Street
            addressLine2: Apt 302
            city: Boulder
            stateOrProvince: CO
            postalCode: '80301'
            country: US
        cardVerification:
          type: object
          required:
            - cvv
            - addressLine1
            - postalCode
          properties:
            cvv:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            addressLine1:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            postalCode:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            accountName:
              type: object
              properties:
                firstName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                lastName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                middleName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                fullName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
              description: The results of submitting cardholder name to a card network for verification.
              example:
                firstName: match
                lastName: match
                middleName: match
                fullName: match
          description: The results of submitting cardholder data to a card network for verification.
          example:
            cvv: match
            addressLine1: match
            postalCode: match
            accountName:
              firstName: match
              lastName: match
              middleName: match
              fullName: match
        issuer:
          type: string
          description: Financial institution that issued the card.
        issuerCountry:
          type: string
          description: Country where the card was issued.
        issuerURL:
          type: string
          format: uri
          description: URL of the issuer.
        issuerPhone:
          type: string
          description: Phone number of the issuer.
        commercial:
          type: boolean
          description: |-
            If true, the card is for commercial use, or associated with a business.
            If false, the card is associated with a general consumer.
        regulated:
          type: boolean
          description: |-
            If true, the card issuing bank is regulated, and the scheme fees for debit transactions will be limited based on the Durbin Amendment.
            If false, the card issuing bank is not regulated, and the scheme fees will not be limited.
        cardOnFile:
          type: boolean
          description: Indicates cardholder has authorized card to be stored for future payments.
        merchantAccountID:
          type: string
          format: uuid
        cardAccountUpdater:
          type: object
          properties:
            updatedOn:
              type: string
              format: date-time
            updateType:
              type: string
              enum:
                - unspecified
                - account-closed
                - contact-cardholder
                - expiration-update
                - no-change
                - no-match
                - number-update
              description: The results of the card update request.
              example: number-update
          description: The results of the most recent card update request.
          example:
            updatedOn: '2024-05-06T12:20:38.184Z'
            updateType: number-update
        domesticPushToCard:
          type: string
          enum:
            - not-supported
            - standard
            - fast-funds
            - unknown
          description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
          example: standard
        domesticPullFromCard:
          type: string
          enum:
            - not-supported
            - supported
            - unknown
          description: Indicates if the card supports domestic pull-from-card transfer.
          example: supported
        paymentMethods:
          type: array
          items:
            type: object
            required:
              - paymentMethodID
              - paymentMethodType
            properties:
              paymentMethodID:
                type: string
                format: uuid
                description: ID of the payment method.
              paymentMethodType:
                type: string
                enum:
                  - moov-wallet
                  - ach-debit-fund
                  - ach-debit-collect
                  - ach-credit-standard
                  - ach-credit-same-day
                  - rtp-credit
                  - card-payment
                  - push-to-card
                  - pull-from-card
                  - apple-pay
                  - card-present-payment
                description: The payment method type that represents a payment rail and directionality
          description: |2-
              Includes any payment methods created as a result of linking a card with the `x-wait-for` header set to `payment-method`.

              Only returned by the link card endpoint; not included when getting or listing cards.
      description: Describes a card on a Moov account.
      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
    CardAcceptanceMethods:
      type: object
      properties:
        inPersonPercentage:
          type: integer
          format: int32
          description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
        mailOrPhonePercentage:
          type: integer
          format: int32
          description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
        onlinePercentage:
          type: integer
          format: int32
          description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
      description: Describes the distribution of card transactions by payment method.
    CardAcceptanceMethodsError:
      type: object
      properties:
        inPersonPercentage:
          type: string
        mailOrPhonePercentage:
          type: string
        onlinePercentage:
          type: string
    CardAccountUpdater:
      type: object
      properties:
        updatedOn:
          type: string
          format: date-time
        updateType:
          type: string
          enum:
            - unspecified
            - account-closed
            - contact-cardholder
            - expiration-update
            - no-change
            - no-match
            - number-update
          description: The results of the card update request.
          example: number-update
      description: The results of the most recent card update request.
      example:
        updatedOn: '2024-05-06T12:20:38.184Z'
        updateType: number-update
    CardAcquiringDispute:
      type: object
      required:
        - disputeID
        - createdOn
        - amount
      properties:
        disputeID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
      description: Details of a card dispute.
    CardAcquiringFees:
      type: object
      required:
        - visa
        - mastercard
        - discover
        - americanExpress
      properties:
        visa:
          allOf:
            - type: object
              required:
                - total
              properties:
                interchange:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of interchange fees.
                interchangePrograms:
                  type: array
                  items:
                    type: object
                    required:
                      - programName
                      - count
                      - percentageRate
                      - perItemRate
                      - total
                      - transferVolume
                    properties:
                      programName:
                        type: string
                        description: The name of the interchange program.
                      count:
                        type: integer
                        format: int64
                        description: The number of transactions for this program.
                      percentageRate:
                        type: number
                        format: decimal
                        description: The percentage rate for this program.
                      perItemRate:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The per-item rate for this program.
                      total:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total fee amount for this program.
                      transferVolume:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total transfer volume for this program.
                    description: Details of a specific interchange program fee.
                  description: A list of interchange program fees.
                networkPassthrough:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of network passthrough fees.
                completedDomesticOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic online transactions.
                completedDomesticInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic in-person transactions.
                completedInternationalOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international online transactions.
                completedInternationalInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international in-person transactions.
                declines:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of declined transactions.
                refunds:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of refunded transactions.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total fees for this card brand.
              description: A detailed breakdown of fees for a specific card brand.
          description: Fees associated with Visa transactions.
        mastercard:
          allOf:
            - type: object
              required:
                - total
              properties:
                interchange:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of interchange fees.
                interchangePrograms:
                  type: array
                  items:
                    type: object
                    required:
                      - programName
                      - count
                      - percentageRate
                      - perItemRate
                      - total
                      - transferVolume
                    properties:
                      programName:
                        type: string
                        description: The name of the interchange program.
                      count:
                        type: integer
                        format: int64
                        description: The number of transactions for this program.
                      percentageRate:
                        type: number
                        format: decimal
                        description: The percentage rate for this program.
                      perItemRate:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The per-item rate for this program.
                      total:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total fee amount for this program.
                      transferVolume:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total transfer volume for this program.
                    description: Details of a specific interchange program fee.
                  description: A list of interchange program fees.
                networkPassthrough:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of network passthrough fees.
                completedDomesticOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic online transactions.
                completedDomesticInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic in-person transactions.
                completedInternationalOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international online transactions.
                completedInternationalInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international in-person transactions.
                declines:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of declined transactions.
                refunds:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of refunded transactions.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total fees for this card brand.
              description: A detailed breakdown of fees for a specific card brand.
          description: Fees associated with Mastercard transactions.
        discover:
          allOf:
            - type: object
              required:
                - total
              properties:
                interchange:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of interchange fees.
                interchangePrograms:
                  type: array
                  items:
                    type: object
                    required:
                      - programName
                      - count
                      - percentageRate
                      - perItemRate
                      - total
                      - transferVolume
                    properties:
                      programName:
                        type: string
                        description: The name of the interchange program.
                      count:
                        type: integer
                        format: int64
                        description: The number of transactions for this program.
                      percentageRate:
                        type: number
                        format: decimal
                        description: The percentage rate for this program.
                      perItemRate:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The per-item rate for this program.
                      total:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total fee amount for this program.
                      transferVolume:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total transfer volume for this program.
                    description: Details of a specific interchange program fee.
                  description: A list of interchange program fees.
                networkPassthrough:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of network passthrough fees.
                completedDomesticOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic online transactions.
                completedDomesticInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic in-person transactions.
                completedInternationalOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international online transactions.
                completedInternationalInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international in-person transactions.
                declines:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of declined transactions.
                refunds:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of refunded transactions.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total fees for this card brand.
              description: A detailed breakdown of fees for a specific card brand.
          description: Fees associated with Discover transactions.
        americanExpress:
          allOf:
            - type: object
              required:
                - total
              properties:
                interchange:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of interchange fees.
                interchangePrograms:
                  type: array
                  items:
                    type: object
                    required:
                      - programName
                      - count
                      - percentageRate
                      - perItemRate
                      - total
                      - transferVolume
                    properties:
                      programName:
                        type: string
                        description: The name of the interchange program.
                      count:
                        type: integer
                        format: int64
                        description: The number of transactions for this program.
                      percentageRate:
                        type: number
                        format: decimal
                        description: The percentage rate for this program.
                      perItemRate:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The per-item rate for this program.
                      total:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total fee amount for this program.
                      transferVolume:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: The total transfer volume for this program.
                    description: Details of a specific interchange program fee.
                  description: A list of interchange program fees.
                networkPassthrough:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of network passthrough fees.
                completedDomesticOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic online transactions.
                completedDomesticInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed domestic in-person transactions.
                completedInternationalOnline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international online transactions.
                completedInternationalInPerson:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of completed international in-person transactions.
                declines:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of declined transactions.
                refunds:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Details of refunded transactions.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total fees for this card brand.
              description: A detailed breakdown of fees for a specific card brand.
          description: Fees associated with American Express transactions.
      description: A detailed breakdown of card acquiring fees by card brand.
    CardAcquiringModel:
      type: string
      enum:
        - cost-plus
        - flat-rate
      description: Specifies the card processing pricing model
    CardAcquiringRefund:
      type: object
      required:
        - refundID
        - createdOn
        - updatedOn
        - status
        - amount
      properties:
        refundID:
          type: string
          format: uuid
          description: Identifier for the refund.
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        cardDetails:
          type: object
          required:
            - status
          properties:
            status:
              type: string
              enum:
                - initiated
                - confirmed
                - settled
                - failed
                - completed
            failureCode:
              type: string
              enum:
                - call-issuer
                - do-not-honor
                - processing-error
                - invalid-transaction
                - invalid-amount
                - no-such-issuer
                - reenter-transaction
                - cvv-mismatch
                - lost-or-stolen
                - insufficient-funds
                - invalid-card-number
                - invalid-merchant
                - expired-card
                - incorrect-pin
                - transaction-not-allowed
                - suspected-fraud
                - amount-limit-exceeded
                - velocity-limit-exceeded
                - revocation-of-authorization
                - card-not-activated
                - issuer-not-available
                - could-not-route
                - cardholder-account-closed
                - unknown-issue
                - duplicate-transaction
            initiatedOn:
              type: string
              format: date-time
            confirmedOn:
              type: string
              format: date-time
            settledOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
      description: Details of a card refund.
      title: Sync
    CardAddress:
      type: object
      required:
        - postalCode
      properties:
        addressLine1:
          type: string
          maxLength: 60
        addressLine2:
          type: string
          maxLength: 32
        city:
          type: string
          maxLength: 32
        stateOrProvince:
          type: string
          maxLength: 2
        postalCode:
          type: string
          maxLength: 10
        country:
          type: string
          maxLength: 2
      example:
        addressLine1: 123 Main Street
        addressLine2: Apt 302
        city: Boulder
        stateOrProvince: CO
        postalCode: '80301'
        country: US
    CardBrand:
      type: string
      enum:
        - American Express
        - Discover
        - Mastercard
        - Visa
        - Unknown
      description: The card brand.
      example: Visa
    CardBrandFees:
      type: object
      required:
        - total
      properties:
        interchange:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of interchange fees.
        interchangePrograms:
          type: array
          items:
            type: object
            required:
              - programName
              - count
              - percentageRate
              - perItemRate
              - total
              - transferVolume
            properties:
              programName:
                type: string
                description: The name of the interchange program.
              count:
                type: integer
                format: int64
                description: The number of transactions for this program.
              percentageRate:
                type: number
                format: decimal
                description: The percentage rate for this program.
              perItemRate:
                allOf:
                  - type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                description: The per-item rate for this program.
              total:
                allOf:
                  - type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                description: The total fee amount for this program.
              transferVolume:
                allOf:
                  - type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                description: The total transfer volume for this program.
            description: Details of a specific interchange program fee.
          description: A list of interchange program fees.
        networkPassthrough:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of network passthrough fees.
        completedDomesticOnline:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of completed domestic online transactions.
        completedDomesticInPerson:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of completed domestic in-person transactions.
        completedInternationalOnline:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of completed international online transactions.
        completedInternationalInPerson:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of completed international in-person transactions.
        declines:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of declined transactions.
        refunds:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Details of refunded transactions.
        total:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Total fees for this card brand.
      description: A detailed breakdown of fees for a specific card brand.
    CardDynamicDescriptor:
      type: string
      minLength: 4
      maxLength: 22
      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
      example: WhlBdy *Yoga 11-12
    CardExpiration:
      type: object
      required:
        - month
        - year
      properties:
        month:
          type: string
          minLength: 2
          maxLength: 2
        year:
          type: string
          minLength: 2
          maxLength: 2
      description: The expiration date of the card or token.
      example:
        month: '01'
        year: '21'
    CardExpirationError:
      type: object
      properties:
        month:
          type: string
        year:
          type: string
    CardFingerprint:
      type: string
      maxLength: 100
      description: |-
        Uniquely identifies a linked payment card or token.
        For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
        This field can be used to identify specific payment methods across multiple accounts on your platform.
      example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
    CardID:
      type: string
      format: uuid
      description: ID of the card.
      example: 01234567-89ab-cdef-0123-456789abcdef
    CardIssuingNetwork:
      type: string
      enum:
        - discover
        - shazam
        - visa
      description: The name of the network a card transaction is routed through.
    CardPaymentDetails:
      type: object
      properties:
        dynamicDescriptor:
          type: string
          minLength: 4
          maxLength: 22
          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
          example: WhlBdy *Yoga 11-12
      description: Options for payment links used to collect a card payment.
    CardPaymentDetailsError:
      type: object
      properties:
        dynamicDescriptor:
          type: string
    CardPaymentPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - card
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - card-payment
        card:
          type: object
          required:
            - cardID
            - fingerprint
            - brand
            - cardType
            - lastFourCardNumber
            - bin
            - expiration
            - billingAddress
            - cardVerification
          properties:
            cardID:
              type: string
              format: uuid
              description: ID of the card.
              example: 01234567-89ab-cdef-0123-456789abcdef
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            bin:
              type: string
              minLength: 6
              maxLength: 8
              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            billingAddress:
              type: object
              required:
                - postalCode
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                addressLine2:
                  type: string
                  maxLength: 32
                city:
                  type: string
                  maxLength: 32
                stateOrProvince:
                  type: string
                  maxLength: 2
                postalCode:
                  type: string
                  maxLength: 10
                country:
                  type: string
                  maxLength: 2
              example:
                addressLine1: 123 Main Street
                addressLine2: Apt 302
                city: Boulder
                stateOrProvince: CO
                postalCode: '80301'
                country: US
            cardVerification:
              type: object
              required:
                - cvv
                - addressLine1
                - postalCode
              properties:
                cvv:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                addressLine1:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                postalCode:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                accountName:
                  type: object
                  properties:
                    firstName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    lastName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    middleName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    fullName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                  description: The results of submitting cardholder name to a card network for verification.
                  example:
                    firstName: match
                    lastName: match
                    middleName: match
                    fullName: match
              description: The results of submitting cardholder data to a card network for verification.
              example:
                cvv: match
                addressLine1: match
                postalCode: match
                accountName:
                  firstName: match
                  lastName: match
                  middleName: match
                  fullName: match
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            cardOnFile:
              type: boolean
              description: Indicates cardholder has authorized card to be stored for future payments.
            merchantAccountID:
              type: string
              format: uuid
            cardAccountUpdater:
              type: object
              properties:
                updatedOn:
                  type: string
                  format: date-time
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
              description: The results of the most recent card update request.
              example:
                updatedOn: '2024-05-06T12:20:38.184Z'
                updateType: number-update
            domesticPushToCard:
              type: string
              enum:
                - not-supported
                - standard
                - fast-funds
                - unknown
              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
              example: standard
            domesticPullFromCard:
              type: string
              enum:
                - not-supported
                - supported
                - unknown
              description: Indicates if the card supports domestic pull-from-card transfer.
              example: supported
          description: A card as contained within a payment method.
      title: Card payment
    CardPaymentSettings:
      type: object
      properties:
        statementDescriptor:
          type: string
          minLength: 4
          maxLength: 22
          pattern: '[a-zA-Z0-9.!*-+_ ]+'
          description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
          example: Whole Body Fitness
      description: User provided settings to manage card payments. This data is only allowed on a business account.
    CardPresentPaymentPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - card-present-payment
        terminalCard:
          type: object
          properties:
            entryMode:
              type: string
              enum:
                - contactless
              description: How the card information was entered into the point of sale terminal.
              example: contactless
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            bin:
              type: string
              minLength: 6
              maxLength: 8
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            applicationID:
              type: string
              description: Identifier for the point of sale terminal application.
            applicationName:
              type: string
              description: Name label for the point of sale terminal application.
          description: Describes payment card details captured with tap or in-person payment.
          example:
            entryMode: contactless
            brand: Visa
            bin: '123456'
            cardType: credit
            expiration:
              month: '01'
              year: '21'
            fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            holderName: Jules Jackson
            issuer: GRINGOTTS BANK
            issuerCountry: US
            lastFourCardNumber: '1234'
      description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
    CardTransactionDetails:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - initiated
            - confirmed
            - canceled
            - settled
            - failed
            - completed
          description: Status of a transaction within the card payment lifecycle.
        failureCode:
          type: string
          enum:
            - call-issuer
            - do-not-honor
            - processing-error
            - invalid-transaction
            - invalid-amount
            - no-such-issuer
            - reenter-transaction
            - cvv-mismatch
            - lost-or-stolen
            - insufficient-funds
            - invalid-card-number
            - invalid-merchant
            - expired-card
            - incorrect-pin
            - transaction-not-allowed
            - suspected-fraud
            - amount-limit-exceeded
            - velocity-limit-exceeded
            - revocation-of-authorization
            - card-not-activated
            - issuer-not-available
            - could-not-route
            - cardholder-account-closed
            - unknown-issue
            - duplicate-transaction
        dynamicDescriptor:
          type: string
          minLength: 4
          maxLength: 22
          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
          example: WhlBdy *Yoga 11-12
        transactionSource:
          type: string
          enum:
            - first-recurring
            - recurring
            - unscheduled
          description: |-
            Specifies the nature and initiator of a transaction. 

            Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
            Omit for customer-initiated e-commerce transactions.
        initiatedOn:
          type: string
          format: date-time
        confirmedOn:
          type: string
          format: date-time
        settledOn:
          type: string
          format: date-time
        failedOn:
          type: string
          format: date-time
        canceledOn:
          type: string
          format: date-time
        completedOn:
          type: string
          format: date-time
        interchangeQualification:
          type: string
          description: The program assigned by the card network that determines the interchange rate for the transfer.
          deprecated: true
          example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
        feeProgram:
          type: string
          description: The program assigned by the card network that determines the interchange rate for the transfer.
          example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
        authorizationCode:
          type: string
          description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
      description: Card-specific details about the transaction.
    CardTransactionFailureCode:
      type: string
      enum:
        - call-issuer
        - do-not-honor
        - processing-error
        - invalid-transaction
        - invalid-amount
        - no-such-issuer
        - reenter-transaction
        - cvv-mismatch
        - lost-or-stolen
        - insufficient-funds
        - invalid-card-number
        - invalid-merchant
        - expired-card
        - incorrect-pin
        - transaction-not-allowed
        - suspected-fraud
        - amount-limit-exceeded
        - velocity-limit-exceeded
        - revocation-of-authorization
        - card-not-activated
        - issuer-not-available
        - could-not-route
        - cardholder-account-closed
        - unknown-issue
        - duplicate-transaction
    CardTransactionStatus:
      type: string
      enum:
        - initiated
        - confirmed
        - canceled
        - settled
        - failed
        - completed
      description: Status of a transaction within the card payment lifecycle.
    CardType:
      type: string
      enum:
        - debit
        - credit
        - prepaid
        - unknown
      description: The type of the card.
      example: credit
    CardUpdateReason:
      type: string
      enum:
        - unspecified
        - account-closed
        - contact-cardholder
        - expiration-update
        - no-change
        - no-match
        - number-update
      description: The results of the card update request.
      example: number-update
    CardVerification:
      type: object
      required:
        - cvv
        - addressLine1
        - postalCode
      properties:
        cvv:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        addressLine1:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        postalCode:
          type: string
          enum:
            - noMatch
            - match
            - notChecked
            - unavailable
            - partialMatch
          example: match
        accountName:
          type: object
          properties:
            firstName:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            lastName:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            middleName:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            fullName:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
          description: The results of submitting cardholder name to a card network for verification.
          example:
            firstName: match
            lastName: match
            middleName: match
            fullName: match
      description: The results of submitting cardholder data to a card network for verification.
      example:
        cvv: match
        addressLine1: match
        postalCode: match
        accountName:
          firstName: match
          lastName: match
          middleName: match
          fullName: match
    CardVerificationResult:
      type: string
      enum:
        - noMatch
        - match
        - notChecked
        - unavailable
        - partialMatch
      example: match
    CardVolumeDistribution:
      type: object
      required:
        - ecommercePercentage
        - cardPresentPercentage
        - mailOrPhonePercentage
        - debtRepaymentPercentage
      properties:
        ecommercePercentage:
          type: integer
          format: int32
        cardPresentPercentage:
          type: integer
          format: int32
        mailOrPhonePercentage:
          type: integer
          format: int32
        debtRepaymentPercentage:
          type: integer
          format: int32
    CardVolumeDistributionError:
      type: object
      properties:
        ecommercePercentage:
          type: string
        cardPresentPercentage:
          type: string
        mailOrPhonePercentage:
          type: string
        debtRepaymentPercentage:
          type: string
    CollectFunds:
      type: object
      properties:
        ach:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
        cardPayments:
          type: object
          properties:
            cardAcceptanceMethods:
              type: object
              properties:
                inPersonPercentage:
                  type: integer
                  format: int32
                  description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                mailOrPhonePercentage:
                  type: integer
                  format: int32
                  description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                onlinePercentage:
                  type: integer
                  format: int32
                  description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
              description: Describes the distribution of card transactions by payment method.
            currentlyAcceptsCards:
              type: boolean
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
            fulfillment:
              type: object
              properties:
                method:
                  type: string
                  enum:
                    - bill-or-debt-payment
                    - digital-content
                    - donation
                    - in-person-service
                    - local-pickup-or-delivery
                    - other
                    - remote-service
                    - shipped-physical-goods
                    - subscription-or-membership
                timeframe:
                  type: string
                  enum:
                    - immediate
                    - other
                    - over-30-days
                    - pre-order
                    - recurring-schedule
                    - scheduled-event
                    - within-30-days
                    - within-7-days
            refundPolicy:
              type: string
              enum:
                - conditional-refund
                - custom-policy
                - event-based-policy
                - full-refund-extended-window
                - full-refund-within-30-days
                - no-refunds
                - partial-refund
                - prorated-refund
                - store-credit-only
    CollectFundsAch:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    CollectFundsAchError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    CollectFundsCardPayments:
      type: object
      properties:
        cardAcceptanceMethods:
          type: object
          properties:
            inPersonPercentage:
              type: integer
              format: int32
              description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
            mailOrPhonePercentage:
              type: integer
              format: int32
              description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
            onlinePercentage:
              type: integer
              format: int32
              description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
          description: Describes the distribution of card transactions by payment method.
        currentlyAcceptsCards:
          type: boolean
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
        fulfillment:
          type: object
          properties:
            method:
              type: string
              enum:
                - bill-or-debt-payment
                - digital-content
                - donation
                - in-person-service
                - local-pickup-or-delivery
                - other
                - remote-service
                - shipped-physical-goods
                - subscription-or-membership
            timeframe:
              type: string
              enum:
                - immediate
                - other
                - over-30-days
                - pre-order
                - recurring-schedule
                - scheduled-event
                - within-30-days
                - within-7-days
        refundPolicy:
          type: string
          enum:
            - conditional-refund
            - custom-policy
            - event-based-policy
            - full-refund-extended-window
            - full-refund-within-30-days
            - no-refunds
            - partial-refund
            - prorated-refund
            - store-credit-only
    CollectFundsCardPaymentsError:
      type: object
      properties:
        cardAcceptanceMethods:
          type: object
          properties:
            inPersonPercentage:
              type: string
            mailOrPhonePercentage:
              type: string
            onlinePercentage:
              type: string
        currentlyAcceptsCards:
          type: string
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
        fulfillment:
          type: object
          properties:
            method:
              type: string
            timeframe:
              type: string
        refundPolicy:
          type: string
    CollectFundsError:
      type: object
      properties:
        ach:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
        cardPayments:
          type: object
          properties:
            cardAcceptanceMethods:
              type: object
              properties:
                inPersonPercentage:
                  type: string
                mailOrPhonePercentage:
                  type: string
                onlinePercentage:
                  type: string
            currentlyAcceptsCards:
              type: string
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
            fulfillment:
              type: object
              properties:
                method:
                  type: string
                timeframe:
                  type: string
            refundPolicy:
              type: string
    CollectionPaymentMethodType:
      type: string
      enum:
        - apple-pay
        - card-payment
        - ach-debit-collect
      description: Payment methods allowed for collecting a payment.
    ColorsValidationError:
      type: object
      properties:
        light:
          type: object
          properties:
            accent:
              type: string
        dark:
          type: object
          properties:
            accent:
              type: string
    CommonRequestHeaders:
      type: object
    CommonResponseHeaders:
      type: object
    CompleteBankAccountVerification:
      type: object
      required:
        - code
      properties:
        code:
          type: string
          description: Code provided by user from their bank account transactions
          example: MV1234
    CompleteMicroDeposits:
      type: object
      required:
        - amounts
      properties:
        amounts:
          type: array
          items:
            type: integer
          description: Two positive integers, in cents, equal to the values of the micro-deposits sent to the bank account.
          example:
            - 18
            - 21
      description: Request to complete the micro-deposit verification workflow.
    CompletedMicroDeposits:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - verified
    Contact:
      type: object
      properties:
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
    Count:
      type: integer
      format: int64
      description: Limits the maximum number of results returned, or determines the page size when used with `skip` or `cursor` for pagination.
      example: 20
    CountriesErrors:
      type: object
      required:
        - countries
      properties:
        countries:
          type: object
          additionalProperties:
            type: string
    CreateAccount:
      type: object
      required:
        - accountType
        - profile
      properties:
        accountType:
          type: string
          enum:
            - individual
            - business
        profile:
          type: object
          properties:
            individual:
              type: object
              required:
                - name
              properties:
                name:
                  type: object
                  required:
                    - firstName
                    - lastName
                  properties:
                    firstName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's first given name.
                      example: Jordan
                    middleName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's second given name, if any.
                      example: Reese
                    lastName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's family name.
                      example: Lee
                    suffix:
                      type: string
                      maxLength: 20
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: Suffix of a given name.
                      example: Jr
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                birthDate:
                  type: object
                  required:
                    - day
                    - month
                    - year
                  properties:
                    day:
                      type: integer
                      example: 9
                    month:
                      type: integer
                      example: 11
                    year:
                      type: integer
                      example: 1989
                governmentID:
                  type: object
                  properties:
                    ssn:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
                    itin:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
            business:
              type: object
              required:
                - legalBusinessName
              properties:
                legalBusinessName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                  description: The legal name under which the entity is registered.
                  example: Classbooker, LLC
                doingBusinessAs:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                  description: A registered trade name under which the business operates, if different from its legal name.
                businessType:
                  type: string
                  enum:
                    - soleProprietorship
                    - unincorporatedAssociation
                    - trust
                    - publicCorporation
                    - privateCorporation
                    - llc
                    - partnership
                    - unincorporatedNonProfit
                    - incorporatedNonProfit
                    - governmentEntity
                  description: The type of entity represented by this business.
                  example: llc
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                website:
                  type: string
                  format: uri
                  maxLength: 100
                description:
                  type: string
                  minLength: 10
                  maxLength: 100
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Local fitness gym paying out instructors
                taxID:
                  type: object
                  required:
                    - ein
                  properties:
                    ein:
                      type: object
                      properties:
                        number:
                          type: string
                          example: 12-3456789
                      required:
                        - number
                  description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                industryCodes:
                  type: object
                  properties:
                    naics:
                      type: string
                      minLength: 2
                      maxLength: 6
                      example: '713940'
                    sic:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7991'
                    mcc:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7997'
                primaryRegulator:
                  type: string
                  enum:
                    - OCC
                    - FDIC
                    - NCUA
                    - FRB
                    - state-cu-regulator
                  description: If the business is a financial institution, this field describes its primary regulator.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        termsOfService:
          oneOf:
            - type: object
              required:
                - token
              properties:
                token:
                  type: string
                  example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
              description: An encrypted value used to record acceptance of Moov's Terms of Service.
              title: Token
            - type: object
              required:
                - acceptedDate
                - acceptedIP
                - acceptedUserAgent
                - acceptedDomain
              properties:
                acceptedDate:
                  type: string
                  format: date-time
                  description: The date and time the terms of service were accepted.
                acceptedIP:
                  type: string
                  format: ipv4
                  description: The IP address from which the terms of service were accepted.
                  example: 172.217.2.46
                acceptedUserAgent:
                  type: string
                  maxLength: 255
                  description: The user-agent of the user making the request.
                  example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                acceptedDomain:
                  type: string
                  format: uri
              description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
              title: Manual
        foreignID:
          type: string
          maxLength: 64
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          description: Optional alias from a foreign/external system which can be used to reference this resource.
        customerSupport:
          type: object
          properties:
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            website:
              type: string
              format: uri
          description: |-
            User-provided information that can be displayed on credit card transactions for customers to use when
            contacting a customer support team. This data is only allowed on a business account.
        settings:
          type: object
          properties:
            cardPayment:
              type: object
              properties:
                statementDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  pattern: '[a-zA-Z0-9.!*-+_ ]+'
                  description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                  example: Whole Body Fitness
              description: User provided settings to manage card payments. This data is only allowed on a business account.
            achPayment:
              type: object
              required:
                - companyName
              properties:
                companyName:
                  type: string
                  minLength: 1
                  maxLength: 16
                  pattern: '[a-zA-Z0-9- ]+'
                  description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                  example: WholeBodyFitness
          description: User provided settings to manage an account.
        capabilities:
          type: array
          items:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
        mode:
          type: string
          enum:
            - sandbox
            - production
          description: The operating mode for an account.
          example: production
      example:
        accountType: business
        profile:
          business:
            legalBusinessName: Whole Body Fitness LLC
    CreateAccountError:
      type: object
      properties:
        accountType:
          type: string
        profile:
          type: object
          properties:
            individual:
              type: object
              properties:
                name:
                  type: object
                  properties:
                    firstName:
                      type: string
                    middleName:
                      type: string
                    lastName:
                      type: string
                    suffix:
                      type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
                email:
                  type: string
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                    addressLine2:
                      type: string
                    city:
                      type: string
                    stateOrProvince:
                      type: string
                    postalCode:
                      type: string
                    country:
                      type: string
                birthDate:
                  type: object
                  properties:
                    day:
                      type: string
                    month:
                      type: string
                    year:
                      type: string
                governmentID:
                  type: object
                  properties:
                    ssn:
                      type: object
                      properties:
                        full:
                          type: string
                        lastFour:
                          type: string
                    itin:
                      type: object
                      properties:
                        full:
                          type: string
                        lastFour:
                          type: string
            business:
              type: object
              properties:
                legalBusinessName:
                  type: string
                doingBusinessAs:
                  type: string
                businessType:
                  type: string
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                    addressLine2:
                      type: string
                    city:
                      type: string
                    stateOrProvince:
                      type: string
                    postalCode:
                      type: string
                    country:
                      type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
                email:
                  type: string
                website:
                  type: string
                description:
                  type: string
                taxID:
                  type: object
                  properties:
                    ein:
                      type: object
                      properties:
                        number:
                          type: string
                industryCodes:
                  type: object
                  properties:
                    naics:
                      type: string
                    sic:
                      type: string
                    mcc:
                      type: string
                primaryRegulator:
                  type: string
        metadata:
          type: string
        termsOfService:
          type: object
          properties:
            token:
              type: string
            manual:
              type: object
              properties:
                acceptedDate:
                  type: string
                acceptedDomain:
                  type: string
                acceptedIP:
                  type: string
                acceptedUserAgent:
                  type: string
        foreignID:
          type: string
        customerSupport:
          type: object
          properties:
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
            email:
              type: string
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                addressLine2:
                  type: string
                city:
                  type: string
                stateOrProvince:
                  type: string
                postalCode:
                  type: string
                country:
                  type: string
            website:
              type: string
        settings:
          type: object
          properties:
            cardPayment:
              type: object
              properties:
                statementDescriptor:
                  type: string
            achPayment:
              type: object
              properties:
                companyName:
                  type: string
        capabilities:
          type: object
          additionalProperties:
            type: string
          example:
            '0': first element failed validation...
    CreateAccountSettings:
      type: object
      properties:
        cardPayment:
          type: object
          properties:
            statementDescriptor:
              type: string
        achPayment:
          type: object
          properties:
            companyName:
              type: string
    CreateAccountType:
      type: string
      enum:
        - individual
        - business
    CreateApplePaySession:
      type: object
      required:
        - domain
        - displayName
      properties:
        domain:
          type: string
          description: A fully qualified top-level or sub-domain name where you will accept Apple Pay. Should not include "https".
          example: checkout.classbooker.dev
        displayName:
          type: string
          maxLength: 64
          description: A UTF-8 string to display in the Buy button.
    CreateAuthorizedUser:
      type: object
      required:
        - firstName
        - lastName
      properties:
        firstName:
          type: string
        lastName:
          type: string
        birthDate:
          type: object
          required:
            - day
            - month
            - year
          properties:
            day:
              type: integer
              example: 9
            month:
              type: integer
              example: 11
            year:
              type: integer
              example: 1989
      description: Fields for identifying an authorized individual.
    CreateAuthorizedUserError:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        birthDate:
          type: object
          properties:
            day:
              type: string
            month:
              type: string
            year:
              type: string
    CreateAuthorizedUserUpdate:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        birthDate:
          type: object
          properties:
            day:
              type: integer
              example: 9
            month:
              type: integer
              example: 11
            year:
              type: integer
              example: 1989
      description: Fields for identifying an authorized individual.
    CreateBusinessError:
      type: object
      properties:
        legalBusinessName:
          type: string
        doingBusinessAs:
          type: string
        businessType:
          type: string
        address:
          type: object
          properties:
            addressLine1:
              type: string
            addressLine2:
              type: string
            city:
              type: string
            stateOrProvince:
              type: string
            postalCode:
              type: string
            country:
              type: string
        phone:
          type: object
          properties:
            number:
              type: string
            countryCode:
              type: string
        email:
          type: string
        website:
          type: string
        description:
          type: string
        taxID:
          type: object
          properties:
            ein:
              type: object
              properties:
                number:
                  type: string
        industryCodes:
          type: object
          properties:
            naics:
              type: string
            sic:
              type: string
            mcc:
              type: string
        primaryRegulator:
          type: string
    CreateBusinessProfile:
      type: object
      required:
        - legalBusinessName
      properties:
        legalBusinessName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
          description: The legal name under which the entity is registered.
          example: Classbooker, LLC
        doingBusinessAs:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
          description: A registered trade name under which the business operates, if different from its legal name.
        businessType:
          type: string
          enum:
            - soleProprietorship
            - unincorporatedAssociation
            - trust
            - publicCorporation
            - privateCorporation
            - llc
            - partnership
            - unincorporatedNonProfit
            - incorporatedNonProfit
            - governmentEntity
          description: The type of entity represented by this business.
          example: llc
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        website:
          type: string
          format: uri
          maxLength: 100
        description:
          type: string
          minLength: 10
          maxLength: 100
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: Local fitness gym paying out instructors
        taxID:
          type: object
          required:
            - ein
          properties:
            ein:
              type: object
              properties:
                number:
                  type: string
                  example: 12-3456789
              required:
                - number
          description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
        industryCodes:
          type: object
          properties:
            naics:
              type: string
              minLength: 2
              maxLength: 6
              example: '713940'
            sic:
              type: string
              minLength: 4
              maxLength: 4
              example: '7991'
            mcc:
              type: string
              minLength: 4
              maxLength: 4
              example: '7997'
        primaryRegulator:
          type: string
          enum:
            - OCC
            - FDIC
            - NCUA
            - FRB
            - state-cu-regulator
          description: If the business is a financial institution, this field describes its primary regulator.
    CreateEvidenceFileMultiPart:
      type: object
      required:
        - file
        - evidenceType
      properties:
        file:
          type: string
          format: binary
          description: |-
            The file to upload as evidence. Valid types are [jpeg, tiff, pdf] with a limit of 4MB per file.

            The `Content-Type` header for this form part must be one of the following:
              - `image/jpeg`
              - `image/tiff`
              - `application/pdf`
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
    CreateEvidenceText:
      type: object
      required:
        - text
        - evidenceType
      properties:
        text:
          type: string
          maxLength: 750
          description: The text to associate with the dispute as evidence.
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
    CreateFeePlanAgreement:
      type: object
      required:
        - planID
      properties:
        planID:
          type: string
          format: uuid
    CreateIndividualError:
      type: object
      properties:
        name:
          type: object
          properties:
            firstName:
              type: string
            middleName:
              type: string
            lastName:
              type: string
            suffix:
              type: string
        phone:
          type: object
          properties:
            number:
              type: string
            countryCode:
              type: string
        email:
          type: string
        address:
          type: object
          properties:
            addressLine1:
              type: string
            addressLine2:
              type: string
            city:
              type: string
            stateOrProvince:
              type: string
            postalCode:
              type: string
            country:
              type: string
        birthDate:
          type: object
          properties:
            day:
              type: string
            month:
              type: string
            year:
              type: string
        governmentID:
          type: object
          properties:
            ssn:
              type: object
              properties:
                full:
                  type: string
                lastFour:
                  type: string
            itin:
              type: object
              properties:
                full:
                  type: string
                lastFour:
                  type: string
    CreateIndividualProfile:
      type: object
      required:
        - name
      properties:
        name:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's first given name.
              example: Jordan
            middleName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's second given name, if any.
              example: Reese
            lastName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's family name.
              example: Lee
            suffix:
              type: string
              maxLength: 20
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: Suffix of a given name.
              example: Jr
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        birthDate:
          type: object
          required:
            - day
            - month
            - year
          properties:
            day:
              type: integer
              example: 9
            month:
              type: integer
              example: 11
            year:
              type: integer
              example: 1989
        governmentID:
          type: object
          properties:
            ssn:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
            itin:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
    CreatePaymentLink:
      type: object
      required:
        - partnerAccountID
        - merchantPaymentMethodID
        - amount
        - display
      properties:
        partnerAccountID:
          type: string
          format: uuid
          description: The partner's Moov account ID.
        merchantPaymentMethodID:
          type: string
          format: uuid
          description: The merchant's preferred payment method ID. Must be a wallet payment method.
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        maxUses:
          type: integer
          format: int64
          description: |-
            An optional limit on the number of times this payment link can be used. 

            **For payouts, `maxUses` is always 1.**
        expiresOn:
          type: string
          format: date-time
          description: An optional expiration date for this payment link.
        display:
          type: object
          required:
            - title
            - description
            - callToAction
          properties:
            title:
              type: string
              description: The payment page title displayed to the user.
            description:
              type: string
              description: A payment description displayed to the user.
            callToAction:
              type: string
              enum:
                - pay
                - book
                - subscribe
                - donate
                - confirm
                - auto
              description: |-
                The text to be displayed on web form's submit button.

                If set to "auto" the UI will automatically select between 
                "pay" and "confirm" for payments and payouts respectively.
          description: Customizable display options for a payment link.
        customer:
          type: object
          properties:
            requireAddress:
              type: boolean
              description: If true, a billing address is required when completing the payment form.
            requirePhone:
              type: boolean
              description: If true, a phone number is required when completing the payment form.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Optional free-form metadata for the Moov account that will represent this customer.
        payment:
          type: object
          required:
            - allowedMethods
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - apple-pay
                  - card-payment
                  - ach-debit-collect
                description: Payment methods allowed for collecting a payment.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
              description: Options for payment links used to collect a card payment.
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
              description: Options for payment links used to collect an ACH payment.
          description: Options for payment links used to collect payment.
        payout:
          type: object
          required:
            - allowedMethods
            - recipient
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - push-to-card
                  - rtp-credit
                  - ach-credit-same-day
                  - ach-credit-standard
                description: Payment methods allowed for disbursing funds.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            recipient:
              type: object
              properties:
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
              description: |-
                Specify the intended recipient of the payout.
                Either `email` or `phone` must be specified, but not both.

                This information will be used to authenticate the end user when they follow the payment link.
      description: |-
        Request to create a new payment link.

        A payment link must include either `payment` or `payout` details, but not both. For payout payment links,
        `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
        to a specific recipient.

        **Note:** The `payout` option is currently under development and is not yet available for general use.
      example:
        partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
        merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
        amount:
          currency: USD
          value: 10000
        display:
          title: Example Payment Link
          description: This is an example payment link.
          callToAction: pay
        customer:
          requirePhone: true
        payment:
          allowedMethods:
            - card-payment
            - ach-debit-collect
    CreatePaymentLinkError:
      type: object
      properties:
        partnerAccountID:
          type: string
        merchantPaymentMethodID:
          type: string
        amount:
          type: object
          properties:
            currency:
              type: string
            value:
              type: string
        maxUses:
          type: string
        expiresOn:
          type: string
        display:
          type: object
          properties:
            title:
              type: string
            description:
              type: string
            callToAction:
              type: string
        payment:
          type: object
          properties:
            allowedMethods:
              type: string
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                originatingCompanyName:
                  type: string
        payout:
          type: object
          properties:
            allowedMethods:
              type: string
            recipient:
              type: object
              properties:
                email:
                  type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
    CreateProfile:
      type: object
      properties:
        individual:
          type: object
          required:
            - name
          properties:
            name:
              type: object
              required:
                - firstName
                - lastName
              properties:
                firstName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's first given name.
                  example: Jordan
                middleName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's second given name, if any.
                  example: Reese
                lastName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's family name.
                  example: Lee
                suffix:
                  type: string
                  maxLength: 20
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: Suffix of a given name.
                  example: Jr
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            birthDate:
              type: object
              required:
                - day
                - month
                - year
              properties:
                day:
                  type: integer
                  example: 9
                month:
                  type: integer
                  example: 11
                year:
                  type: integer
                  example: 1989
            governmentID:
              type: object
              properties:
                ssn:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
                itin:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
        business:
          type: object
          required:
            - legalBusinessName
          properties:
            legalBusinessName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
              description: The legal name under which the entity is registered.
              example: Classbooker, LLC
            doingBusinessAs:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
              description: A registered trade name under which the business operates, if different from its legal name.
            businessType:
              type: string
              enum:
                - soleProprietorship
                - unincorporatedAssociation
                - trust
                - publicCorporation
                - privateCorporation
                - llc
                - partnership
                - unincorporatedNonProfit
                - incorporatedNonProfit
                - governmentEntity
              description: The type of entity represented by this business.
              example: llc
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            website:
              type: string
              format: uri
              maxLength: 100
            description:
              type: string
              minLength: 10
              maxLength: 100
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Local fitness gym paying out instructors
            taxID:
              type: object
              required:
                - ein
              properties:
                ein:
                  type: object
                  properties:
                    number:
                      type: string
                      example: 12-3456789
                  required:
                    - number
              description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
            industryCodes:
              type: object
              properties:
                naics:
                  type: string
                  minLength: 2
                  maxLength: 6
                  example: '713940'
                sic:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7991'
                mcc:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7997'
            primaryRegulator:
              type: string
              enum:
                - OCC
                - FDIC
                - NCUA
                - FRB
                - state-cu-regulator
              description: If the business is a financial institution, this field describes its primary regulator.
    CreateProfileError:
      type: object
      properties:
        individual:
          type: object
          properties:
            name:
              type: object
              properties:
                firstName:
                  type: string
                middleName:
                  type: string
                lastName:
                  type: string
                suffix:
                  type: string
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
            email:
              type: string
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                addressLine2:
                  type: string
                city:
                  type: string
                stateOrProvince:
                  type: string
                postalCode:
                  type: string
                country:
                  type: string
            birthDate:
              type: object
              properties:
                day:
                  type: string
                month:
                  type: string
                year:
                  type: string
            governmentID:
              type: object
              properties:
                ssn:
                  type: object
                  properties:
                    full:
                      type: string
                    lastFour:
                      type: string
                itin:
                  type: object
                  properties:
                    full:
                      type: string
                    lastFour:
                      type: string
        business:
          type: object
          properties:
            legalBusinessName:
              type: string
            doingBusinessAs:
              type: string
            businessType:
              type: string
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                addressLine2:
                  type: string
                city:
                  type: string
                stateOrProvince:
                  type: string
                postalCode:
                  type: string
                country:
                  type: string
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
            email:
              type: string
            website:
              type: string
            description:
              type: string
            taxID:
              type: object
              properties:
                ein:
                  type: object
                  properties:
                    number:
                      type: string
            industryCodes:
              type: object
              properties:
                naics:
                  type: string
                sic:
                  type: string
                mcc:
                  type: string
            primaryRegulator:
              type: string
    CreateRefund:
      type: object
      properties:
        amount:
          type: integer
          format: int64
          description: Amount to refund in cents. If null, the original transfer's full amount will be refunded.
          example: 1000
      description: |-
        Specifies a partial amount to refund. 

        This request body is optional, an empty body will issue a refund for the full amount of the original transfer.
    CreateRefundResponse:
      oneOf:
        - type: object
          required:
            - refundID
            - createdOn
            - updatedOn
            - status
            - amount
          properties:
            refundID:
              type: string
              format: uuid
              description: Identifier for the refund.
            createdOn:
              type: string
              format: date-time
            updatedOn:
              type: string
              format: date-time
            status:
              type: string
              enum:
                - created
                - pending
                - completed
                - failed
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - settled
                    - failed
                    - completed
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
          description: Details of a card refund.
          title: Sync
        - type: object
          required:
            - refundID
            - createdOn
            - amount
          properties:
            refundID:
              type: string
              format: uuid
            createdOn:
              type: string
              format: date-time
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
          description: Asynchronous refund response
          title: Async
    CreateRepresentative:
      type: object
      properties:
        birthDate:
          type: object
          required:
            - day
            - month
            - year
          properties:
            day:
              type: integer
              example: 9
            month:
              type: integer
              example: 11
            year:
              type: integer
              example: 1989
        governmentID:
          type: object
          properties:
            ssn:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
            itin:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
        responsibilities:
          type: object
          properties:
            isController:
              type: boolean
              description: Indicates whether this individual has significant management responsibilities within the business.
            isOwner:
              type: boolean
              description: |-
                If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                business. If the representative does not own at least 25% of the business, this field should be `false`.
            ownershipPercentage:
              type: integer
              description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
              example: 38
            jobTitle:
              type: string
              maxLength: 64
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: CEO
          description: Describes the job responsibilities of a business representative.
      allOf:
        - type: object
          required:
            - name
          properties:
            name:
              type: object
              required:
                - firstName
                - lastName
              properties:
                firstName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's first given name.
                  example: Jordan
                middleName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's second given name, if any.
                  example: Reese
                lastName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's family name.
                  example: Lee
                suffix:
                  type: string
                  maxLength: 20
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: Suffix of a given name.
                  example: Jr
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
          description: The template for omitting properties.
      description: Describes a business representative to create.
    CreateReversal:
      type: object
      required:
        - amount
      properties:
        amount:
          type: integer
          format: int64
          description: Amount to reverse in cents. Partial amounts will automatically trigger a refund instead of a cancellation.
          example: 1000
    CreateSweepConfig:
      type: object
      required:
        - walletID
        - status
        - pushPaymentMethodID
        - pullPaymentMethodID
      properties:
        walletID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - enabled
            - disabled
        pushPaymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        pullPaymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        statementDescriptor:
          type: string
          minLength: 4
          maxLength: 10
          description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
        minimumBalance:
          type: string
          pattern: ^\d+\.\d{1,2}$
    CreateSweepConfigError:
      type: object
      properties:
        walletID:
          type: string
        status:
          type: string
        pushPaymentMethodID:
          type: string
        pullPaymentMethodID:
          type: string
        statementDescriptor:
          type: string
        minimumBalance:
          type: string
    CreateTerminalApplication:
      type: object
      required:
        - platform
      properties:
        platform:
          type: string
          enum:
            - undefined
            - ios
            - android
          description: Platform of the terminal application.
          example: ios
        appBundleID:
          type: string
          description: The app bundle identifier of the terminal application. Required if platform is `ios`.
        packageName:
          type: string
          description: The app package name of the terminal application. Required if platform is `android`.
        sha256Digest:
          type: string
          description: The SHA-256 digest of the signing key for the application. Required if platform is `android`.
        versionCode:
          type: string
          description: The version code of the Android application. Required if platform is `android`.
      description: Describes a create terminal application request.
      example:
        platform: android
        packageName: com.example.app
        sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
        versionCode: '20332277'
    CreateTicket:
      type: object
      required:
        - title
        - body
        - contact
      properties:
        title:
          type: string
        body:
          type: string
          format: html
        author:
          type: string
        contact:
          type: object
          required:
            - email
          properties:
            email:
              type: string
            name:
              type: string
        foreignID:
          type: string
      description: Request to create a new support ticket.
    CreateTicketContactError:
      type: object
      properties:
        email:
          type: string
        name:
          type: string
    CreateTicketError:
      type: object
      properties:
        title:
          type: string
        body:
          type: string
        author:
          type: string
        contact:
          type: object
          properties:
            email:
              type: string
            name:
              type: string
        foreignID:
          type: string
    CreateTransfer:
      type: object
      required:
        - source
        - destination
        - amount
      properties:
        source:
          type: object
          properties:
            transferID:
              type: string
              format: uuid
              description: |-
                A `transferID` is used to create a [transfer group](https://docs.moov.io/guides/money-movement/transfer-groups/),
                associating the new transfer with a parent transfer.
            paymentMethodID:
              type: string
              format: uuid
            paymentToken:
              type: string
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
                transactionSource:
                  type: string
                  enum:
                    - first-recurring
                    - recurring
                    - unscheduled
                  description: |-
                    Specifies the nature and initiator of a transaction. 

                    Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                    Omit for customer-initiated e-commerce transactions.
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
                debitHoldPeriod:
                  type: string
                  enum:
                    - no-hold
                    - 1-day
                    - 2-days
                  description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                  example: 2-days
                secCode:
                  type: string
                  enum:
                    - WEB
                    - PPD
                    - CCD
                    - TEL
                  description: Code used to identify the ACH authorization method.
          description: Where funds for a transfer originate. For the source, you must include either a `paymentMethodID` or a `transferID`.
        destination:
          type: object
          required:
            - paymentMethodID
          properties:
            paymentMethodID:
              type: string
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
          description: The final stage of a transfer and the ultimate recipient of the funds.
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        facilitatorFee:
          type: object
          properties:
            total:
              type: integer
              format: int64
              description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
            totalDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '12.987654321'
            markup:
              type: integer
              format: int64
              description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
            markupDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '0.987654321'
          description: Total or markup fee.
        description:
          type: string
          maxLength: 256
          description: An optional description of the transfer that is used on receipts and for your own internal use.
          example: Pay Instructor for May 15 Class
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        salesTaxAmount:
          allOf:
            - type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
          description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
        foreignID:
          type: string
          description: Optional alias from a foreign/external system which can be used to reference this resource.
      example:
        source:
          paymentMethodID: 9506dbf6-4208-44c3-ad8a-e4431660e1f2
        destination:
          paymentMethodID: 3f9969cf-a1f3-4d83-8ddc-229a506651cf
        amount:
          currency: USD
          value: 32945
        description: Transfer from card to wallet
        metadata:
          optional: metadata
    CreateTransferDestination:
      type: object
      required:
        - paymentMethodID
      properties:
        paymentMethodID:
          type: string
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
      description: The final stage of a transfer and the ultimate recipient of the funds.
    CreateTransferDestinationACH:
      type: object
      properties:
        companyEntryDescription:
          type: string
          minLength: 4
          maxLength: 10
          description: An optional override of the default NACHA company entry description for a transfer.
          example: Gym dues
        originatingCompanyName:
          type: string
          minLength: 4
          maxLength: 16
          description: An optional override of the default NACHA company name for a transfer.
          example: Whole Body Fit
    CreateTransferDestinationCard:
      type: object
      properties:
        dynamicDescriptor:
          type: string
          minLength: 4
          maxLength: 22
          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
          example: WhlBdy *Yoga 11-12
    CreateTransferOptions:
      type: object
      required:
        - source
        - destination
        - amount
      properties:
        source:
          type: object
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
        destination:
          type: object
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
    CreateTransferSource:
      type: object
      properties:
        transferID:
          type: string
          format: uuid
          description: |-
            A `transferID` is used to create a [transfer group](https://docs.moov.io/guides/money-movement/transfer-groups/),
            associating the new transfer with a parent transfer.
        paymentMethodID:
          type: string
          format: uuid
        paymentToken:
          type: string
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
            transactionSource:
              type: string
              enum:
                - first-recurring
                - recurring
                - unscheduled
              description: |-
                Specifies the nature and initiator of a transaction. 

                Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                Omit for customer-initiated e-commerce transactions.
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
            debitHoldPeriod:
              type: string
              enum:
                - no-hold
                - 1-day
                - 2-days
              description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
              example: 2-days
            secCode:
              type: string
              enum:
                - WEB
                - PPD
                - CCD
                - TEL
              description: Code used to identify the ACH authorization method.
      description: Where funds for a transfer originate. For the source, you must include either a `paymentMethodID` or a `transferID`.
    CreateTransferSourceACH:
      type: object
      properties:
        companyEntryDescription:
          type: string
          minLength: 4
          maxLength: 10
          description: An optional override of the default NACHA company entry description for a transfer.
          example: Gym dues
        originatingCompanyName:
          type: string
          minLength: 4
          maxLength: 16
          description: An optional override of the default NACHA company name for a transfer.
          example: Whole Body Fit
        debitHoldPeriod:
          type: string
          enum:
            - no-hold
            - 1-day
            - 2-days
          description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
          example: 2-days
        secCode:
          type: string
          enum:
            - WEB
            - PPD
            - CCD
            - TEL
          description: Code used to identify the ACH authorization method.
    CreateTransferSourceCard:
      type: object
      properties:
        dynamicDescriptor:
          type: string
          minLength: 4
          maxLength: 22
          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
          example: WhlBdy *Yoga 11-12
        transactionSource:
          type: string
          enum:
            - first-recurring
            - recurring
            - unscheduled
          description: |-
            Specifies the nature and initiator of a transaction. 

            Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
            Omit for customer-initiated e-commerce transactions.
    CreateWallet:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          description: Name of the wallet.
        description:
          type: string
          description: Description of the wallet.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
      example:
        name: My wallet
        description: A general wallet used for my payments
        metadata:
          optional: metadata
    CreateWalletValidationError:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        metadata:
          type: string
    CreatedTransfer:
      type: object
      required:
        - transferID
        - createdOn
      properties:
        transferID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        source:
          type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - account
          properties:
            transferID:
              type: string
              format: uuid
              description: UUID present only if the transfer is part of a transfer group.
            paymentMethodID:
              type: string
            paymentMethodType:
              type: string
              enum:
                - moov-wallet
                - ach-debit-fund
                - ach-debit-collect
                - ach-credit-standard
                - ach-credit-same-day
                - rtp-credit
                - card-payment
                - push-to-card
                - pull-from-card
                - apple-pay
                - card-present-payment
              description: The payment method type that represents a payment rail and directionality
            account:
              type: object
              required:
                - accountID
                - email
                - displayName
              properties:
                accountID:
                  type: string
                email:
                  type: string
                displayName:
                  type: string
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
            wallet:
              type: object
              required:
                - walletID
                - partnerAccountID
                - walletType
              properties:
                walletID:
                  type: string
                  format: uuid
                partnerAccountID:
                  type: string
                  format: uuid
                walletType:
                  type: string
                  enum:
                    - default
                    - general
                  description: |-
                    Type of a wallet.
                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                      - `general`: An additional, user-defined wallet created via API or Dashboard.
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
            applePay:
              type: object
              required:
                - brand
                - cardType
                - cardDisplayName
                - fingerprint
                - expiration
                - dynamicLastFour
              properties:
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                cardDisplayName:
                  type: string
                  description: |2-
                      User-friendly name of the tokenized card returned by Apple.
                      
                      It usually contains the brand and the last four digits of the underlying card.
                      There is no standard format.
                  example: Visa 1256
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                dynamicLastFour:
                  type: string
                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                issuerCountry:
                  type: string
                  description: Country where the underlying card was issued.
                  example: US
              description: Describes an Apple Pay token on a Moov account.
            terminalCard:
              type: object
              properties:
                entryMode:
                  type: string
                  enum:
                    - contactless
                  description: How the card information was entered into the point of sale terminal.
                  example: contactless
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                applicationID:
                  type: string
                  description: Identifier for the point of sale terminal application.
                applicationName:
                  type: string
                  description: Name label for the point of sale terminal application.
              description: Describes payment card details captured with tap or in-person payment.
              example:
                entryMode: contactless
                brand: Visa
                bin: '123456'
                cardType: credit
                expiration:
                  month: '01'
                  year: '21'
                fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName: Jules Jackson
                issuer: GRINGOTTS BANK
                issuerCountry: US
                lastFourCardNumber: '1234'
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - canceled
                    - settled
                    - failed
                    - completed
                  description: Status of a transaction within the card payment lifecycle.
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
                transactionSource:
                  type: string
                  enum:
                    - first-recurring
                    - recurring
                    - unscheduled
                  description: |-
                    Specifies the nature and initiator of a transaction. 

                    Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                    Omit for customer-initiated e-commerce transactions.
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                canceledOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                interchangeQualification:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  deprecated: true
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                feeProgram:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                authorizationCode:
                  type: string
                  description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
              description: Card-specific details about the transaction.
            achDetails:
              type: object
              required:
                - status
                - traceNumber
              properties:
                status:
                  type: string
                  enum:
                    - ''
                    - initiated
                    - originated
                    - corrected
                    - returned
                    - completed
                    - canceled
                  description: Status of a transaction within the ACH lifecycle.
                traceNumber:
                  type: string
                  maxLength: 15
                  example: '124782618117'
                return:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                correction:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
                secCode:
                  type: string
                  enum:
                    - WEB
                    - PPD
                    - CCD
                    - TEL
                  description: Code used to identify the ACH authorization method.
                canceledOn:
                  type: string
                  format: date-time
                initiatedOn:
                  type: string
                  format: date-time
                originatedOn:
                  type: string
                  format: date-time
                correctedOn:
                  type: string
                  format: date-time
                returnedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                debitHoldPeriod:
                  type: string
                  enum:
                    - no-hold
                    - 1-day
                    - 2-days
                  description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                  example: 2-days
              description: ACH specific details about the transaction.
        destination:
          type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - account
          properties:
            paymentMethodID:
              type: string
            paymentMethodType:
              type: string
              enum:
                - moov-wallet
                - ach-debit-fund
                - ach-debit-collect
                - ach-credit-standard
                - ach-credit-same-day
                - rtp-credit
                - card-payment
                - push-to-card
                - pull-from-card
                - apple-pay
                - card-present-payment
              description: The payment method type that represents a payment rail and directionality
            account:
              type: object
              required:
                - accountID
                - email
                - displayName
              properties:
                accountID:
                  type: string
                email:
                  type: string
                displayName:
                  type: string
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
            wallet:
              type: object
              required:
                - walletID
                - partnerAccountID
                - walletType
              properties:
                walletID:
                  type: string
                  format: uuid
                partnerAccountID:
                  type: string
                  format: uuid
                walletType:
                  type: string
                  enum:
                    - default
                    - general
                  description: |-
                    Type of a wallet.
                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                      - `general`: An additional, user-defined wallet created via API or Dashboard.
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
            achDetails:
              type: object
              required:
                - status
                - traceNumber
              properties:
                status:
                  type: string
                  enum:
                    - ''
                    - initiated
                    - originated
                    - corrected
                    - returned
                    - completed
                    - canceled
                  description: Status of a transaction within the ACH lifecycle.
                traceNumber:
                  type: string
                  maxLength: 15
                  example: '124782618117'
                return:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                correction:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
                secCode:
                  type: string
                  enum:
                    - WEB
                    - PPD
                    - CCD
                    - TEL
                  description: Code used to identify the ACH authorization method.
                canceledOn:
                  type: string
                  format: date-time
                initiatedOn:
                  type: string
                  format: date-time
                originatedOn:
                  type: string
                  format: date-time
                correctedOn:
                  type: string
                  format: date-time
                returnedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                debitHoldPeriod:
                  type: string
                  enum:
                    - no-hold
                    - 1-day
                    - 2-days
                  description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                  example: 2-days
              description: ACH specific details about the transaction.
            applePay:
              type: object
              required:
                - brand
                - cardType
                - cardDisplayName
                - fingerprint
                - expiration
                - dynamicLastFour
              properties:
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                cardDisplayName:
                  type: string
                  description: |2-
                      User-friendly name of the tokenized card returned by Apple.
                      
                      It usually contains the brand and the last four digits of the underlying card.
                      There is no standard format.
                  example: Visa 1256
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                dynamicLastFour:
                  type: string
                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                issuerCountry:
                  type: string
                  description: Country where the underlying card was issued.
                  example: US
              description: Describes an Apple Pay token on a Moov account.
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - canceled
                    - settled
                    - failed
                    - completed
                  description: Status of a transaction within the card payment lifecycle.
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
                transactionSource:
                  type: string
                  enum:
                    - first-recurring
                    - recurring
                    - unscheduled
                  description: |-
                    Specifies the nature and initiator of a transaction. 

                    Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                    Omit for customer-initiated e-commerce transactions.
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                canceledOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                interchangeQualification:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  deprecated: true
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                feeProgram:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                authorizationCode:
                  type: string
                  description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
              description: Card-specific details about the transaction.
            rtpDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - completed
                    - failed
                    - accepted-without-posting
                  description: Status of a transaction within the RTP lifecycle.
                networkResponseCode:
                  type: string
                  description: Response code returned by network on failure.
                failureCode:
                  type: string
                  enum:
                    - processing-error
                    - invalid-account
                    - account-closed
                    - account-blocked
                    - invalid-field
                    - transaction-not-supported
                    - limit-exceeded
                    - invalid-amount
                    - customer-deceased
                    - other
                  description: Status codes for RTP failures.
                initiatedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                acceptedWithoutPostingOn:
                  type: string
                  format: date-time
              description: RTP specific details about the transaction.
        completedOn:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
            - reversed
            - queued
            - canceled
          description: Status of a transfer.
        failureReason:
          type: string
          enum:
            - source-payment-error
            - destination-payment-error
            - wallet-insufficient-funds
            - rejected-high-risk
            - processing-error
          description: Reason for a transfer's failure.
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        description:
          type: string
          maxLength: 128
          description: An optional description of the transfer that is used on receipts and for your own internal use.
          example: Pay Instructor for May 15 Class
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        facilitatorFee:
          type: object
          properties:
            total:
              type: integer
              format: int64
              description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
            totalDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '12.987654321'
            markup:
              type: integer
              format: int64
              description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
            markupDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '0.987654321'
          description: Total or markup fee.
        moovFee:
          type: integer
          format: int64
          description: Fees charged to your platform account for transfers.
        moovFeeDecimal:
          type: string
          description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
        moovFeeDetails:
          type: object
          required:
            - moovProcessing
          properties:
            cardScheme:
              type: string
              description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
            interchange:
              type: string
              description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
            discount:
              type: string
              description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
            moovProcessing:
              type: string
              description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
          description: Processing and pass-through costs that add up to the moovFee.
        groupID:
          type: string
        cancellations:
          type: array
          items:
            type: object
            required:
              - cancellationID
              - status
              - createdOn
            properties:
              cancellationID:
                type: string
              status:
                type: string
                enum:
                  - pending
                  - completed
                  - failed
              createdOn:
                type: string
                format: date-time
        refundedAmount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        refunds:
          type: array
          items:
            type: object
            required:
              - refundID
              - createdOn
              - updatedOn
              - status
              - amount
            properties:
              refundID:
                type: string
                format: uuid
                description: Identifier for the refund.
              createdOn:
                type: string
                format: date-time
              updatedOn:
                type: string
                format: date-time
              status:
                type: string
                enum:
                  - created
                  - pending
                  - completed
                  - failed
              amount:
                type: object
                required:
                  - currency
                  - value
                properties:
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  value:
                    type: integer
                    format: int64
                    description: |-
                      Quantity in the smallest unit of the specified currency. 

                      In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    example: 1204
              cardDetails:
                type: object
                required:
                  - status
                properties:
                  status:
                    type: string
                    enum:
                      - initiated
                      - confirmed
                      - settled
                      - failed
                      - completed
                  failureCode:
                    type: string
                    enum:
                      - call-issuer
                      - do-not-honor
                      - processing-error
                      - invalid-transaction
                      - invalid-amount
                      - no-such-issuer
                      - reenter-transaction
                      - cvv-mismatch
                      - lost-or-stolen
                      - insufficient-funds
                      - invalid-card-number
                      - invalid-merchant
                      - expired-card
                      - incorrect-pin
                      - transaction-not-allowed
                      - suspected-fraud
                      - amount-limit-exceeded
                      - velocity-limit-exceeded
                      - revocation-of-authorization
                      - card-not-activated
                      - issuer-not-available
                      - could-not-route
                      - cardholder-account-closed
                      - unknown-issue
                      - duplicate-transaction
                  initiatedOn:
                    type: string
                    format: date-time
                  confirmedOn:
                    type: string
                    format: date-time
                  settledOn:
                    type: string
                    format: date-time
                  failedOn:
                    type: string
                    format: date-time
                  completedOn:
                    type: string
                    format: date-time
            description: Details of a card refund.
            title: Sync
        disputedAmount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        disputes:
          type: array
          items:
            type: object
            required:
              - disputeID
              - createdOn
              - amount
            properties:
              disputeID:
                type: string
                format: uuid
              createdOn:
                type: string
                format: date-time
              amount:
                type: object
                required:
                  - currency
                  - value
                properties:
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  value:
                    type: integer
                    format: int64
                    description: |-
                      Quantity in the smallest unit of the specified currency. 

                      In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    example: 1204
            description: Details of a card dispute.
        sweepID:
          type: string
        scheduleID:
          type: string
        occurrenceID:
          type: string
        paymentLinkCode:
          type: string
        salesTaxAmount:
          allOf:
            - type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
          description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
        foreignID:
          type: string
          description: Optional alias from a foreign/external system which can be used to reference this resource.
    Currency:
      type: string
      pattern: ^[A-Za-z]{3}$
      description: A 3-letter ISO 4217 currency code.
      example: USD
    Cursor:
      type: string
      description: The value used to retrieve a page of items.
    CustomerSupport:
      type: object
      properties:
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        website:
          type: string
          format: uri
      description: |-
        User-provided information that can be displayed on credit card transactions for customers to use when
        contacting a customer support team. This data is only allowed on a business account.
    CustomerSupportError:
      type: object
      properties:
        phone:
          type: object
          properties:
            number:
              type: string
            countryCode:
              type: string
        email:
          type: string
        address:
          type: object
          properties:
            addressLine1:
              type: string
            addressLine2:
              type: string
            city:
              type: string
            stateOrProvince:
              type: string
            postalCode:
              type: string
            country:
              type: string
        website:
          type: string
    CustomerSupportUpdate:
      type: object
      properties:
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        website:
          type: string
          format: uri
      description: |-
        User-provided information that can be displayed on credit card transactions for customers to use when
        contacting a customer support team. This data is only allowed on a business account.
    DebitHoldPeriod:
      type: string
      enum:
        - no-hold
        - 1-day
        - 2-days
      description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
      example: 2-days
    DisbursementPaymentMethodType:
      type: string
      enum:
        - push-to-card
        - rtp-credit
        - ach-credit-same-day
        - ach-credit-standard
      description: Payment methods allowed for disbursing funds.
    DisplayOptionsError:
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        callToAction:
          type: string
    Dispute:
      type: object
      required:
        - disputeID
        - merchantAccountID
        - amount
        - networkReasonCode
        - transfer
        - respondBy
        - status
        - phase
        - createdOn
      properties:
        disputeID:
          type: string
          format: uuid
        merchantAccountID:
          type: string
          format: uuid
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        networkReasonCode:
          type: string
          description: |-
            Indicates the card network's category for the dispute. 

            These codes may differ between card brands. You can find more information on the code from the networkReasonDescription field.
        networkReasonDescription:
          type: string
          description: Provides detail on the card network's categorization of the dispute.
        transfer:
          type: object
          required:
            - transferID
          properties:
            transferID:
              type: string
              format: uuid
              description: The disputed transfer's ID.
        respondBy:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - response-needed
            - resolved
            - under-review
            - closed
            - accepted
            - expired
            - won
            - lost
          description: |-
            The status of a particular dispute. 

            Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
        phase:
          type: string
          enum:
            - pre-dispute
            - inquiry
            - chargeback
            - unknown
          description: The phase of a dispute within the dispute lifecycle.
        createdOn:
          type: string
          format: date-time
        submittedOn:
          type: string
          format: date-time
      description: Details of a card transaction 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
    DisputeEvidenceResponse:
      type: object
      required:
        - evidenceID
        - disputeID
        - evidenceType
        - createdOn
        - updatedOn
      properties:
        evidenceID:
          type: string
          format: uuid
        disputeID:
          type: string
          format: uuid
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
        text:
          type: string
          description: For text evidence, the text submitted as evidence.
        mimeType:
          type: string
          description: For file evidence, the MIME type of the file.
        filename:
          type: string
          description: For file evidence, the name of the file.
        size:
          type: integer
          format: int64
          description: For file evidence, the size of the file.
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        submittedOn:
          type: string
          format: date-time
          description: When the evidence was submitted for review.
    DisputePhase:
      type: string
      enum:
        - pre-dispute
        - inquiry
        - chargeback
        - unknown
      description: The phase of a dispute within the dispute lifecycle.
    DisputeStatus:
      type: string
      enum:
        - response-needed
        - resolved
        - under-review
        - closed
        - accepted
        - expired
        - won
        - lost
      description: |-
        The status of a particular dispute. 

        Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
    DisputeTransferDetails:
      type: object
      required:
        - transferID
      properties:
        transferID:
          type: string
          format: uuid
          description: The disputed transfer's ID.
    Document:
      type: object
      required:
        - documentID
        - type
        - contentType
        - uploadedAt
      properties:
        documentID:
          type: string
          format: uuid
          example: e07e83e8-9429-4e99-ac99-c941f719eb39
        type:
          type: string
          enum:
            - driversLicense
            - passport
            - utilityBill
            - bankStatement
          description: Types of documents that can be uploaded.
          example: bankStatement
        contentType:
          type: string
          description: The document's MIME type.
          example: application/pdf
        parseErrors:
          type: array
          items:
            type: string
          description: Optional array of errors encountered during automated parsing.
        uploadedAt:
          type: string
          format: date-time
          example: '2024-05-06T12:20:38.184Z'
    DocumentType:
      type: string
      enum:
        - driversLicense
        - passport
        - utilityBill
        - bankStatement
      description: Types of documents that can be uploaded.
      example: bankStatement
    DomainDisplayName:
      type: string
      maxLength: 64
      description: A UTF-8 string to display in the Buy button.
    DomesticPullFromCard:
      type: string
      enum:
        - not-supported
        - supported
        - unknown
      description: Indicates if the card supports domestic pull-from-card transfer.
      example: supported
    DomesticPushToCard:
      type: string
      enum:
        - not-supported
        - standard
        - fast-funds
        - unknown
      description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
      example: standard
    E2EEToken:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          format: jwe
          description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
      description: |-
        Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
        This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
        [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
      example:
        token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
    E2EETokenUpdate:
      type: object
      properties:
        token:
          type: string
          format: jwe
          description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
      description: |-
        Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
        This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
        [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
      example:
        token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
    Email:
      type: string
      maxLength: 255
      format: email
      example: jordan.lee@classbooker.dev
    End2EndEncryptionError:
      type: object
      properties:
        token:
          type: string
    EnrichedAddressResponse:
      type: object
      required:
        - suggestions
      properties:
        suggestions:
          type: array
          items:
            type: object
            properties:
              addressLine1:
                type: string
              addressLine2:
                type: string
              city:
                type: string
              entries:
                type: integer
                description: The number of units at an address. For example the number of apartments or businesses in a building.
              postalCode:
                type: string
              stateOrProvince:
                type: string
    EnrichedBusinessProfile:
      type: object
      properties:
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        industryCodes:
          type: object
          properties:
            naics:
              type: string
              minLength: 2
              maxLength: 6
              example: '713940'
            sic:
              type: string
              minLength: 4
              maxLength: 4
              example: '7991'
        legalBusinessName:
          type: string
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        website:
          type: string
    EnrichedBusinessResponse:
      type: object
      properties:
        business:
          type: object
          properties:
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            industryCodes:
              type: object
              properties:
                naics:
                  type: string
                  minLength: 2
                  maxLength: 6
                  example: '713940'
                sic:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7991'
            legalBusinessName:
              type: string
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            website:
              type: string
    EnrichedIndustries:
      type: object
      required:
        - industries
      properties:
        industries:
          type: array
          items:
            type: object
            required:
              - industry
              - displayName
              - category
              - categoryDisplayName
              - defaultMcc
            properties:
              industry:
                type: string
                description: URL-safe identifier for the industry
                example: clothing-accessories
              displayName:
                type: string
                description: Display name of the industry
                example: Clothing & Accessories
              category:
                type: string
                description: Category slug
                example: retail
              categoryDisplayName:
                type: string
                description: Human-readable category label
                example: Retail
              defaultMcc:
                type: string
                maxLength: 4
                description: Default Merchant Category Code
                example: '5651'
            description: A structured industry taxonomy entry with category and mapped to a default MCC code.
    EnrichedIndustry:
      type: object
      required:
        - title
        - naics
        - sic
        - mcc
      properties:
        title:
          type: string
          example: AC, Refrigeration Repair
        naics:
          type: string
          maxLength: 6
          description: North American Industry Classification System
          example: '811412'
        sic:
          type: string
          maxLength: 4
          description: Standard Industrial Classification
          example: '7623'
        mcc:
          type: string
          maxLength: 4
          description: Merchant Category Code
          example: '7623'
      description: An industry's MCC/SIC/NAICS codes, along with descriptive title.
    EnrichedIndustryCodes:
      type: object
      properties:
        naics:
          type: string
          minLength: 2
          maxLength: 6
          example: '713940'
        sic:
          type: string
          minLength: 4
          maxLength: 4
          example: '7991'
    EntryMode:
      type: string
      enum:
        - contactless
      description: How the card information was entered into the point of sale terminal.
      example: contactless
    EstimatedActivity:
      type: object
      properties:
        averageTransactionAmount:
          type: integer
          format: int64
        maximumTransactionAmount:
          type: integer
          format: int64
        monthlyVolumeRange:
          type: string
          enum:
            - under-10k
            - 10k-50k
            - 50k-100k
            - 100k-250k
            - 250k-500k
            - 500k-1m
            - 1m-5m
            - over-5m
          description: The low value in each range is included. The high value in each range is excluded.
    EstimatedActivityError:
      type: object
      properties:
        averageTransactionAmount:
          type: string
        maximumTransactionAmount:
          type: string
        monthlyVolumeRange:
          type: string
    EvidenceTextResponse:
      type: object
      required:
        - evidenceID
        - disputeID
        - evidenceType
        - text
        - createdOn
      properties:
        evidenceID:
          type: string
          format: uuid
        disputeID:
          type: string
          format: uuid
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
        text:
          type: string
        createdOn:
          type: string
          format: date-time
    EvidenceType:
      type: string
      enum:
        - receipt
        - proof-of-delivery
        - cancelation-policy
        - terms-of-service
        - customer-communication
        - generic-evidence
        - cover-letter
        - other
    EvidenceUploadResponse:
      type: object
      required:
        - evidenceID
        - disputeID
        - filename
        - mimeType
        - size
        - evidenceType
        - createdOn
      properties:
        evidenceID:
          type: string
          format: uuid
          description: The ID of the evidence.
        disputeID:
          type: string
          format: uuid
          description: The ID of the dispute the evidence is associated with.
        filename:
          type: string
          description: The name of the evidence file.
        mimeType:
          type: string
          description: The MIME type of the evidence file.
        size:
          type: integer
          format: int64
          description: The size of the evidence file.
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
        createdOn:
          type: string
          format: date-time
          description: The date and time the evidence was uploaded.
      description: Details of a successfully uploaded evidence file.
    FacilitatorFee:
      type: object
      properties:
        total:
          type: integer
          format: int64
          description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
        totalDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: |-
            Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

            Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
          example: '12.987654321'
        markup:
          type: integer
          format: int64
          description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
        markupDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: |-
            Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
            Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
          example: '0.987654321'
      description: Total or markup fee.
    FedNowInstitution:
      type: object
      required:
        - name
        - routingNumber
        - services
      properties:
        name:
          type: string
          description: Name of the financial institution.
          example: First Citizens
        routingNumber:
          type: string
          maxLength: 9
          example: '123456789'
        services:
          type: object
          required:
            - receivePayments
            - sendPayments
            - requestForPayment
          properties:
            receivePayments:
              type: boolean
              description: Indicates if the institution can receive instant payments.
              example: true
            sendPayments:
              type: boolean
              description: Indicates if the institution can send instant payments.
              example: true
            requestForPayment:
              type: boolean
              description: Indicates if the institution can process request for payment messages.
              example: true
    FedNowServices:
      type: object
      required:
        - receivePayments
        - sendPayments
        - requestForPayment
      properties:
        receivePayments:
          type: boolean
          description: Indicates if the institution can receive instant payments.
          example: true
        sendPayments:
          type: boolean
          description: Indicates if the institution can send instant payments.
          example: true
        requestForPayment:
          type: boolean
          description: Indicates if the institution can process request for payment messages.
          example: true
    FeeCategory:
      type: string
      enum:
        - ach
        - card-acquiring
        - card-other
        - card-pull
        - card-push
        - monthly-platform
        - network-passthrough
        - other
        - rtp
    FeeConditions:
      type: object
      additionalProperties: {}
      description: Defines the specific conditions that must be met for the fee to be applied.
      example:
        cardBrand:
          - visa
    FeeModel:
      type: string
      enum:
        - fixed
        - blended
        - variable
      description: Specifies the pricing model used for the calculation of the final fee.
    FeePlan:
      type: object
      required:
        - planID
        - name
        - cardAcquiringModel
        - billableFees
        - minimumCommitment
        - monthlyPlatformFee
        - createdAt
      properties:
        planID:
          type: string
          format: uuid
        name:
          type: string
          description: The name of the fee plan.
          example: Fixed Rate Merchant Plan
        description:
          type: string
          description: A description of the fee plan.
        cardAcquiringModel:
          type: string
          enum:
            - cost-plus
            - flat-rate
          description: Specifies the card processing pricing model
        billableFees:
          type: array
          items:
            type: object
            required:
              - feeModel
              - feeCategory
            properties:
              billableFeeID:
                type: string
                format: uuid
              billableEvent:
                type: string
                description: A unique code identifying a charge.
              feeName:
                type: string
                description: Specifies the name of the fee that will be billed.
              feeModel:
                type: string
                enum:
                  - fixed
                  - blended
                  - variable
                description: Specifies the pricing model used for the calculation of the final fee.
              feeCategory:
                type: string
                enum:
                  - ach
                  - card-acquiring
                  - card-other
                  - card-pull
                  - card-push
                  - monthly-platform
                  - network-passthrough
                  - other
                  - rtp
              feeProperties:
                type: object
                properties:
                  fixedAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                  variableRate:
                    type: string
                    pattern: ^[0-9]+.?[0-9]*$
                    description: |-
                      A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                      For example, 0.05% is '0.05'.
                    example: '0.05'
                  minPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                  maxPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                description: Defines the specific parameters used for fee calculation.
                example:
                  fixedAmount:
                    currency: USD
                    valueDecimal: '0.0195'
                  variableRate: '0.15'
                  minPerTransaction:
                    currency: USD
                    valueDecimal: '0.0195'
                  maxPerTransaction:
                    currency: USD
                    valueDecimal: '0.035'
              feeConditions:
                type: object
                additionalProperties: {}
                description: Defines the specific conditions that must be met for the fee to be applied.
                example:
                  cardBrand:
                    - visa
            example:
              billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
              billableEvent: card-auth-volume
              feeName: Card decline fee
              feeModel: fixed
              feeCategory: card-acquiring
              feeProperties:
                fixedAmount:
                  currency: USD
                  valueDecimal: '0.1'
              feeConditions:
                transactionType:
                  - decline
          description: Additional usage-based fees for this plan.
        minimumCommitment:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
        monthlyPlatformFee:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Fixed recurring amount paid in the billing period regardless of usage.
        createdAt:
          type: string
          format: date-time
    FeePlanAgreement:
      type: object
      required:
        - agreementID
        - planID
        - name
        - acceptedOn
        - status
        - cardAcquiringModel
        - billableFees
        - minimumCommitment
        - monthlyPlatformFee
      properties:
        agreementID:
          type: string
          format: uuid
        planID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
        name:
          type: string
          description: The name of the agreement.
        description:
          type: string
          description: The description of the agreement.
        acceptedOn:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - active
            - terminated
        cardAcquiringModel:
          type: string
          enum:
            - cost-plus
            - flat-rate
          description: Specifies the card processing pricing model
        billableFees:
          type: array
          items:
            type: object
            required:
              - feeModel
              - feeCategory
            properties:
              billableFeeID:
                type: string
                format: uuid
              billableEvent:
                type: string
                description: A unique code identifying a charge.
              feeName:
                type: string
                description: Specifies the name of the fee that will be billed.
              feeModel:
                type: string
                enum:
                  - fixed
                  - blended
                  - variable
                description: Specifies the pricing model used for the calculation of the final fee.
              feeCategory:
                type: string
                enum:
                  - ach
                  - card-acquiring
                  - card-other
                  - card-pull
                  - card-push
                  - monthly-platform
                  - network-passthrough
                  - other
                  - rtp
              feeProperties:
                type: object
                properties:
                  fixedAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                  variableRate:
                    type: string
                    pattern: ^[0-9]+.?[0-9]*$
                    description: |-
                      A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                      For example, 0.05% is '0.05'.
                    example: '0.05'
                  minPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                  maxPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                description: Defines the specific parameters used for fee calculation.
                example:
                  fixedAmount:
                    currency: USD
                    valueDecimal: '0.0195'
                  variableRate: '0.15'
                  minPerTransaction:
                    currency: USD
                    valueDecimal: '0.0195'
                  maxPerTransaction:
                    currency: USD
                    valueDecimal: '0.035'
              feeConditions:
                type: object
                additionalProperties: {}
                description: Defines the specific conditions that must be met for the fee to be applied.
                example:
                  cardBrand:
                    - visa
            example:
              billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
              billableEvent: card-auth-volume
              feeName: Card decline fee
              feeModel: fixed
              feeCategory: card-acquiring
              feeProperties:
                fixedAmount:
                  currency: USD
                  valueDecimal: '0.1'
              feeConditions:
                transactionType:
                  - decline
        minimumCommitment:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
        monthlyPlatformFee:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Fixed recurring amount paid in the billing period regardless of usage.
    FeePlanAgreementError:
      type: object
      properties:
        planID:
          type: string
    FeePlanAgreementStatus:
      type: string
      enum:
        - active
        - terminated
    FeeProperties:
      type: object
      properties:
        fixedAmount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
        variableRate:
          type: string
          pattern: ^[0-9]+.?[0-9]*$
          description: |-
            A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

            For example, 0.05% is '0.05'.
          example: '0.05'
        minPerTransaction:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
        maxPerTransaction:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
      description: Defines the specific parameters used for fee calculation.
      example:
        fixedAmount:
          currency: USD
          valueDecimal: '0.0195'
        variableRate: '0.15'
        minPerTransaction:
          currency: USD
          valueDecimal: '0.0195'
        maxPerTransaction:
          currency: USD
          valueDecimal: '0.035'
    FileDetails:
      type: object
      required:
        - fileID
        - fileName
        - accountID
        - filePurpose
        - fileStatus
        - metadata
        - fileSizeBytes
        - createdOn
        - updatedOn
      properties:
        fileID:
          type: string
          format: uuid
        fileName:
          type: string
          maxLength: 64
          example: logo.png
        accountID:
          type: string
          format: uuid
        filePurpose:
          type: string
          enum:
            - business_verification
            - representative_verification
            - individual_verification
            - merchant_underwriting
            - account_requirement
            - identity_verification
          description: The file's purpose.
          example: representative_verification
        fileStatus:
          type: string
          enum:
            - pending
            - approved
            - rejected
          description: The file's status.
          example: pending
        metadata:
          type: string
          format: json
          example: '{"error_code": "document-name-mismatch", "requirement_id": "document.individual.verification", "representative_id": "c63ab175-251d-497e-a267-7346d087e180", "comment": "testing comment"'
        decisionReason:
          type: string
          example: not correct file
        fileSizeBytes:
          type: integer
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
      description: Describes a file linked to a Moov account.
    FilePurpose:
      type: string
      enum:
        - business_verification
        - representative_verification
        - individual_verification
        - merchant_underwriting
        - account_requirement
        - identity_verification
      description: The file's purpose.
      example: representative_verification
    FileStatus:
      type: string
      enum:
        - pending
        - approved
        - rejected
      description: The file's status.
      example: pending
    FileUploadRequestMultiPart:
      type: object
      required:
        - file
        - filePurpose
      properties:
        file:
          type: string
          format: binary
          description: The file to be added. Valid types are `csv`, `png`, `jpeg`, `pdf`.
        filePurpose:
          type: string
          enum:
            - business_verification
            - representative_verification
            - individual_verification
            - merchant_underwriting
            - account_requirement
            - identity_verification
          description: The file's purpose.
          example: representative_verification
        metadata:
          type: string
          format: json
          description: |-
            Additional metadata to be stored with the file, formatted as a JSON string.

            Valid keys are `representative_id`, `comment`, `requirement_id`, `error_code`.
          example: '{"requirement_id": "document.individual.verification"}'
      description: Request to upload a file for an account.
    FileUploadValidationError:
      type: object
      properties:
        evidenceType:
          type: string
        file:
          type: object
          properties:
            filename:
              type: string
            mimeType:
              type: string
    FileValidationError:
      type: object
      properties:
        error:
          type: string
        file:
          type: string
        FileName:
          type: string
        filePurpose:
          type: string
        metadata:
          type: string
    FinancialInstitutions:
      type: object
      required:
        - achParticipants
      properties:
        achParticipants:
          type: array
          items:
            type: object
            required:
              - achLocation
              - customerName
              - newRoutingNumber
              - officeCode
              - phoneNumber
              - recordTypeCode
              - revised
              - routingNumber
              - servicingFRBNumber
              - statusCode
              - viewCode
              - cleanName
              - logo
            properties:
              achLocation:
                type: object
                required:
                  - address
                  - city
                  - postalCode
                  - postalCodeExtension
                  - state
                properties:
                  address:
                    type: string
                    maxLength: 32
                    example: 123 Main Street
                  city:
                    type: string
                    maxLength: 24
                    example: Boulder
                  postalCode:
                    type: string
                    maxLength: 5
                    example: '80301'
                  postalCodeExtension:
                    type: string
                    maxLength: 4
                    example: '0000'
                  state:
                    type: string
                    maxLength: 24
                    example: Colorado
              customerName:
                type: string
                example: Main Street Bank
              newRoutingNumber:
                type: string
                maxLength: 9
                example: '987654321'
              officeCode:
                type: string
                example: '0'
              phoneNumber:
                type: string
                example: '1234567789'
              recordTypeCode:
                type: string
                example: '1'
              revised:
                type: string
                example: '041921'
              routingNumber:
                type: string
                maxLength: 9
                example: '123456789'
              servicingFRBNumber:
                type: string
                example: '123456789'
              statusCode:
                type: string
                example: '1'
              viewCode:
                type: string
                example: '1'
              cleanName:
                type: string
                example: Main Street Bank
              logo:
                type: object
                allOf:
                  - type: object
                    required:
                      - name
                      - url
                    properties:
                      name:
                        type: string
                      url:
                        type: string
                nullable: true
                example:
                  name: Main Street Bank
                  url: https://www.mainstreetbank.com/logo.png
    Fulfillment:
      type: object
      properties:
        method:
          type: string
          enum:
            - bill-or-debt-payment
            - digital-content
            - donation
            - in-person-service
            - local-pickup-or-delivery
            - other
            - remote-service
            - shipped-physical-goods
            - subscription-or-membership
        timeframe:
          type: string
          enum:
            - immediate
            - other
            - over-30-days
            - pre-order
            - recurring-schedule
            - scheduled-event
            - within-30-days
            - within-7-days
    FulfillmentDetails:
      type: object
      required:
        - hasPhysicalGoods
        - isShippingProduct
        - shipmentDurationDays
        - returnPolicy
      properties:
        hasPhysicalGoods:
          type: boolean
        isShippingProduct:
          type: boolean
        shipmentDurationDays:
          type: integer
          format: int64
        returnPolicy:
          type: string
          enum:
            - none
            - exchangeOnly
            - withinThirtyDays
            - other
    FulfillmentDetailsError:
      type: object
      properties:
        shipmentDurationDays:
          type: string
        returnPolicy:
          type: string
    FulfillmentError:
      type: object
      properties:
        method:
          type: string
        timeframe:
          type: string
    FulfillmentMethod:
      type: string
      enum:
        - bill-or-debt-payment
        - digital-content
        - donation
        - in-person-service
        - local-pickup-or-delivery
        - other
        - remote-service
        - shipped-physical-goods
        - subscription-or-membership
    FulfillmentTimeframe:
      type: string
      enum:
        - immediate
        - other
        - over-30-days
        - pre-order
        - recurring-schedule
        - scheduled-event
        - within-30-days
        - within-7-days
    FullIssuedCard:
      type: object
      required:
        - issuedCardID
        - brand
        - lastFourCardNumber
        - expiration
        - authorizedUser
        - fundingWalletID
        - state
        - formFactor
        - createdOn
        - pan
        - cvv
      properties:
        issuedCardID:
          type: string
          format: uuid
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        lastFourCardNumber:
          type: string
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        authorizedUser:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
            lastName:
              type: string
          description: Fields for identifying an authorized individual.
        memo:
          type: string
          description: Optional descriptor for the card.
        fundingWalletID:
          type: string
          description: Unique identifier for the wallet funding the card.
        state:
          type: string
          enum:
            - active
            - inactive
            - pending-verification
            - closed
          description: |-
            The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

            - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
            - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
            - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
            - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
        formFactor:
          type: string
          enum:
            - virtual
          description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
        controls:
          type: object
          properties:
            singleUse:
              type: boolean
              description: Indicates if the card is single-use. If true, the card closes after the first authorization.
            velocityLimits:
              type: array
              items:
                type: object
                required:
                  - amount
                  - interval
                properties:
                  amount:
                    type: integer
                    format: int64
                    description: The maximum amount in cents that can be spent in a given interval.
                    example: 10000
                  interval:
                    type: string
                    enum:
                      - per-transaction
                    description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
              description: Sets the spending limit per time interval. Only one limit per interval is supported.
        createdOn:
          type: string
          format: date-time
        pan:
          type: string
          minLength: 16
          maxLength: 19
          description: The issued card's Primary Account Number (PAN)
        cvv:
          type: string
          minLength: 3
          maxLength: 4
          description: The issued card's 3- or 4-digit Card Verification Value (CVV).
      description: The full details of an issued card, including PAN and CVV.
    GeneratedBy:
      oneOf:
        - type: object
          properties:
            transferID:
              type: string
              format: uuid
          title: Transfer ID
        - type: object
          properties:
            CardID:
              type: string
              format: uuid
          title: Card ID
        - type: object
          properties:
            DisputeID:
              type: string
              format: uuid
          title: Dispute ID
        - type: object
          properties:
            AccountID:
              type: string
              format: uuid
          title: Account ID
        - type: object
          properties:
            BankAccountID:
              type: string
              format: uuid
          title: Bank account ID
      description: The entity that generated the fee.
    GeneratedByAccountID:
      type: object
      properties:
        AccountID:
          type: string
          format: uuid
      title: Account ID
    GeneratedByBankAccountID:
      type: object
      properties:
        BankAccountID:
          type: string
          format: uuid
      title: Bank account ID
    GeneratedByCardID:
      type: object
      properties:
        CardID:
          type: string
          format: uuid
      title: Card ID
    GeneratedByDisputeID:
      type: object
      properties:
        DisputeID:
          type: string
          format: uuid
      title: Dispute ID
    GeneratedByTransferID:
      type: object
      properties:
        transferID:
          type: string
          format: uuid
      title: Transfer ID
    GenericError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
    GeographicReach:
      type: string
      enum:
        - international-only
        - us-and-international
        - us-only
    GovernmentID:
      type: object
      properties:
        ssn:
          type: object
          properties:
            full:
              type: string
              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
            lastFour:
              type: string
        itin:
          type: object
          properties:
            full:
              type: string
              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
            lastFour:
              type: string
    GovernmentIDError:
      type: object
      properties:
        ssn:
          type: object
          properties:
            full:
              type: string
            lastFour:
              type: string
        itin:
          type: object
          properties:
            full:
              type: string
            lastFour:
              type: string
    GrantType:
      type: string
      enum:
        - client_credentials
        - refresh_token
      description: |-
        The type of grant being requested.

          - `client_credentials`: A grant type used by clients to obtain an access token
          - `refresh_token`: A grant type used by clients to obtain a new access token using a refresh token
    GuestProfile:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: |-
            The name associated with the guest account.
            This will default to "Guest {accountIDfirst8}" if no other name is provided.
          example: Guest 75e5fbb8
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
      description: Describes a guest account profile.
    ImageMetadata:
      type: object
      required:
        - imageID
        - link
        - createdOn
        - updatedOn
      properties:
        imageID:
          type: string
          format: uuid
        altText:
          type: string
          maxLength: 125
          description: Alternative text for the image.
        link:
          type: string
          format: uri
          description: |-
            A public URL to access the image. An optional `size={width}x{height}` 
            query parameter can be provided to resize the image.
          example: https://api.moov.io/images/qJRAaAwwF5hmfeAFdHjIb
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
      description: Metadata about an uploaded image.
    ImageMetadataRequest:
      type: object
      properties:
        altText:
          type: string
          maxLength: 125
          description: Alternative text for the image.
      description: Request body for creating or updating image metadata.
    ImageMetadataValidationError:
      type: object
      properties:
        altText:
          type: string
    ImagePublicID:
      type: string
      pattern: '[A-Za-z0-9_-]{21}'
      description: A unique identifier for an image, used in public image links.
    ImageRequestValidationError:
      type: object
      properties:
        image:
          type: string
        metadata:
          type: object
          properties:
            altText:
              type: string
    ImageUpdateRequest:
      type: object
      properties:
        image:
          type: string
          format: binary
        metadata:
          type: object
          properties:
            altText:
              type: string
              maxLength: 125
              description: Alternative text for the image.
          description: Request body for creating or updating image metadata.
      required: []
    ImageUploadRequest:
      type: object
      properties:
        image:
          type: string
          format: binary
        metadata:
          type: object
          properties:
            altText:
              type: string
              maxLength: 125
              description: Alternative text for the image.
          description: Request body for creating or updating image metadata.
      required:
        - image
    IncurredFee:
      type: object
      properties:
        feeID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        feeName:
          type: string
        amount:
          type: object
          required:
            - currency
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                For example, $12.987654321 is '12.987654321'.
              example: '12.987654321'
        generatedBy:
          oneOf:
            - type: object
              properties:
                transferID:
                  type: string
                  format: uuid
              title: Transfer ID
            - type: object
              properties:
                CardID:
                  type: string
                  format: uuid
              title: Card ID
            - type: object
              properties:
                DisputeID:
                  type: string
                  format: uuid
              title: Dispute ID
            - type: object
              properties:
                AccountID:
                  type: string
                  format: uuid
              title: Account ID
            - type: object
              properties:
                BankAccountID:
                  type: string
                  format: uuid
              title: Bank account ID
          description: The entity that generated the fee.
      description: A fee incurred by a user.
    IndividualName:
      type: object
      required:
        - firstName
        - lastName
      properties:
        firstName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's first given name.
          example: Jordan
        middleName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's second given name, if any.
          example: Reese
        lastName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's family name.
          example: Lee
        suffix:
          type: string
          maxLength: 20
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: Suffix of a given name.
          example: Jr
    IndividualNameError:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        suffix:
          type: string
    IndividualNameUpdate:
      type: object
      properties:
        firstName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's first given name.
          example: Jordan
        middleName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's second given name, if any.
          example: Reese
        lastName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: The individual's family name.
          example: Lee
        suffix:
          type: string
          maxLength: 20
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
          description: Suffix of a given name.
          example: Jr
    IndividualProfile:
      type: object
      required:
        - name
      properties:
        name:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's first given name.
              example: Jordan
            middleName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's second given name, if any.
              example: Reese
            lastName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's family name.
              example: Lee
            suffix:
              type: string
              maxLength: 20
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: Suffix of a given name.
              example: Jr
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        birthDateProvided:
          type: boolean
          description: Indicates whether this individual's birth date has been provided.
        governmentIDProvided:
          type: boolean
          description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
      description: Describes an individual.
    IndustryCodes:
      type: object
      properties:
        naics:
          type: string
          minLength: 2
          maxLength: 6
          example: '713940'
        sic:
          type: string
          minLength: 4
          maxLength: 4
          example: '7991'
        mcc:
          type: string
          minLength: 4
          maxLength: 4
          example: '7997'
    IndustryTaxonomies:
      type: object
      required:
        - industries
      properties:
        industries:
          type: array
          items:
            type: object
            required:
              - industry
              - displayName
              - category
              - categoryDisplayName
              - defaultMcc
            properties:
              industry:
                type: string
                description: URL-safe identifier for the industry
                example: clothing-accessories
              displayName:
                type: string
                description: Display name of the industry
                example: Clothing & Accessories
              category:
                type: string
                description: Category slug
                example: retail
              categoryDisplayName:
                type: string
                description: Human-readable category label
                example: Retail
              defaultMcc:
                type: string
                maxLength: 4
                description: Default Merchant Category Code
                example: '5651'
            description: A structured industry taxonomy entry with category and mapped to a default MCC code.
      description: A list of structured industries mapped to default MCC codes.
    IndustryTaxonomy:
      type: object
      required:
        - industry
        - displayName
        - category
        - categoryDisplayName
        - defaultMcc
      properties:
        industry:
          type: string
          description: URL-safe identifier for the industry
          example: clothing-accessories
        displayName:
          type: string
          description: Display name of the industry
          example: Clothing & Accessories
        category:
          type: string
          description: Category slug
          example: retail
        categoryDisplayName:
          type: string
          description: Human-readable category label
          example: Retail
        defaultMcc:
          type: string
          maxLength: 4
          description: Default Merchant Category Code
          example: '5651'
      description: A structured industry taxonomy entry with category and mapped to a default MCC code.
    InstantPaymentFees:
      type: object
      required:
        - rtpCreditTransaction
        - pushToCardTransaction
        - pullFromCardTransaction
        - total
      properties:
        rtpCreditTransaction:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for RTP credit transactions.
        rtpDecline:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for RTP declines.
        pushToCardTransaction:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for push-to-card transactions.
        pushToCardDecline:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for push-to-card declines.
        pullFromCardTransaction:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for pull-from-card transactions.
        pullFromCardDecline:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for pull-from-card declines.
        pullFromCardRefund:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for pull-from-card refunds.
        total:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Total instant payment fees.
      description: A detailed breakdown of instant payment fees.
    InstitutionLogo:
      type: object
      required:
        - name
        - url
      properties:
        name:
          type: string
        url:
          type: string
    InstitutionsSearchResponse:
      type: object
      required:
        - ach
        - rtp
        - wire
        - fednow
      properties:
        ach:
          type: array
          items:
            type: object
            required:
              - name
              - routingNumber
            properties:
              name:
                type: string
                description: Name of the financial institution.
                example: First Citizens
              routingNumber:
                type: string
                maxLength: 9
                example: '123456789'
              address:
                type: object
                required:
                  - addressLine1
                  - city
                  - stateOrProvince
                  - postalCode
                  - country
                properties:
                  addressLine1:
                    type: string
                    maxLength: 60
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: 123 Main Street
                  addressLine2:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Apt 302
                  city:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Boulder
                  stateOrProvince:
                    type: string
                    maxLength: 2
                    example: CO
                  postalCode:
                    type: string
                    maxLength: 5
                    example: '80301'
                  country:
                    type: string
                    maxLength: 2
                    example: US
              contact:
                type: object
                properties:
                  phone:
                    type: object
                    properties:
                      number:
                        type: string
                        maxLength: 10
                        example: '8185551212'
                      countryCode:
                        type: string
                        maxLength: 1
                        example: '1'
          nullable: true
        rtp:
          type: array
          items:
            type: object
            required:
              - name
              - routingNumber
              - services
            properties:
              name:
                type: string
                description: Name of the financial institution.
                example: First Citizens
              routingNumber:
                type: string
                maxLength: 9
                example: '123456789'
              services:
                type: object
                required:
                  - receivePayments
                  - receiveRequestForPayment
                properties:
                  receivePayments:
                    type: boolean
                    description: Can the institution receive payments
                    example: true
                  receiveRequestForPayment:
                    type: boolean
                    description: Can the institution receive request for payment messages
                    example: true
          nullable: true
        wire:
          type: array
          items:
            type: object
            required:
              - name
              - routingNumber
              - services
            properties:
              name:
                type: string
                description: Name of the financial institution.
                example: First Citizens
              routingNumber:
                type: string
                maxLength: 9
                example: '123456789'
              address:
                type: object
                required:
                  - addressLine1
                  - city
                  - stateOrProvince
                  - postalCode
                  - country
                properties:
                  addressLine1:
                    type: string
                    maxLength: 60
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: 123 Main Street
                  addressLine2:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Apt 302
                  city:
                    type: string
                    maxLength: 32
                    pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                    example: Boulder
                  stateOrProvince:
                    type: string
                    maxLength: 2
                    example: CO
                  postalCode:
                    type: string
                    maxLength: 5
                    example: '80301'
                  country:
                    type: string
                    maxLength: 2
                    example: US
              services:
                type: object
                required:
                  - fundsTransferStatus
                  - fundsSettlementOnlyStatus
                  - bookEntrySecuritiesTransferStatus
                properties:
                  fundsTransferStatus:
                    type: boolean
                    description: The institution's capability to process standard Fedwire funds transfers.
                    example: true
                  fundsSettlementOnlyStatus:
                    type: boolean
                    description: The institution's capability for settlement-only transfers.
                    example: false
                  bookEntrySecuritiesTransferStatus:
                    type: boolean
                    description: The institution's capability to handle transfers of securities.
                    example: false
          nullable: true
        fednow:
          type: array
          items:
            type: object
            required:
              - name
              - routingNumber
              - services
            properties:
              name:
                type: string
                description: Name of the financial institution.
                example: First Citizens
              routingNumber:
                type: string
                maxLength: 9
                example: '123456789'
              services:
                type: object
                required:
                  - receivePayments
                  - sendPayments
                  - requestForPayment
                properties:
                  receivePayments:
                    type: boolean
                    description: Indicates if the institution can receive instant payments.
                    example: true
                  sendPayments:
                    type: boolean
                    description: Indicates if the institution can send instant payments.
                    example: true
                  requestForPayment:
                    type: boolean
                    description: Indicates if the institution can process request for payment messages.
                    example: true
          nullable: true
    IssuedCard:
      type: object
      required:
        - issuedCardID
        - brand
        - lastFourCardNumber
        - expiration
        - authorizedUser
        - fundingWalletID
        - state
        - formFactor
        - createdOn
      properties:
        issuedCardID:
          type: string
          format: uuid
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        lastFourCardNumber:
          type: string
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        authorizedUser:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
            lastName:
              type: string
          description: Fields for identifying an authorized individual.
        memo:
          type: string
          description: Optional descriptor for the card.
        fundingWalletID:
          type: string
          description: Unique identifier for the wallet funding the card.
        state:
          type: string
          enum:
            - active
            - inactive
            - pending-verification
            - closed
          description: |-
            The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

            - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
            - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
            - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
            - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
        formFactor:
          type: string
          enum:
            - virtual
          description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
        controls:
          type: object
          properties:
            singleUse:
              type: boolean
              description: Indicates if the card is single-use. If true, the card closes after the first authorization.
            velocityLimits:
              type: array
              items:
                type: object
                required:
                  - amount
                  - interval
                properties:
                  amount:
                    type: integer
                    format: int64
                    description: The maximum amount in cents that can be spent in a given interval.
                    example: 10000
                  interval:
                    type: string
                    enum:
                      - per-transaction
                    description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
              description: Sets the spending limit per time interval. Only one limit per interval is supported.
        createdOn:
          type: string
          format: date-time
    IssuedCardAuthorization:
      type: object
      required:
        - authorizationID
        - issuedCardID
        - fundingWalletID
        - network
        - authorizedAmount
        - status
        - merchantData
        - createdOn
      properties:
        authorizationID:
          type: string
          format: uuid
        issuedCardID:
          type: string
          format: uuid
        fundingWalletID:
          type: string
          format: uuid
        network:
          type: string
          enum:
            - discover
            - shazam
            - visa
          description: The name of the network a card transaction is routed through.
        authorizedAmount:
          type: string
          format: ^\d+\.\d{1,2}$
          description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
          example: '-14.89'
        status:
          type: string
          enum:
            - pending
            - declined
            - canceled
            - cleared
            - expired
          description: Status of a card issuing authorization.
        merchantData:
          type: object
          properties:
            networkID:
              type: string
              description: External identifier used to identify the merchant with the card brand.
            name:
              type: string
              description: Name of the merchant.
              example: Whole Body Fitness
            city:
              type: string
              description: The merchant's location.
              example: San Francisco
            country:
              type: string
              description: Two-letter country code.
              example: US
            postalCode:
              type: string
              description: The merchant's five-digit postal code.
              example: '94107'
            state:
              type: string
              description: The merchant's two-letter state abbreviation.
              example: CA
            mcc:
              type: string
              description: The Merchant Category Code.
              example: '7298'
        createdOn:
          type: string
          format: date-time
        cardTransactions:
          type: array
          items:
            type: string
          description: List of card transaction IDs associated with this authorization.
    IssuedCardAuthorizationEvent:
      type: object
      required:
        - eventID
        - eventType
        - amount
        - result
        - createdOn
      properties:
        eventID:
          type: string
          format: uuid
          description: The identifier for this event. Use the `eventType` field to determine what resource is identified by this ID (`authorization`, `reversal`, etc.).
        eventType:
          type: string
          enum:
            - authorization
            - reversal
            - authorization-advice
            - authorization-expiration
            - authorization-incremental
            - clearing
          description: The type of event that occurred on the card.
        amount:
          type: string
          format: ^\d+\.\d{1,2}$
          description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
          example: '-14.89'
        result:
          type: string
          enum:
            - approved
            - declined
            - processed
          description: The result of an event.
        createdOn:
          type: string
          format: date-time
    IssuedCardAuthorizationEventResult:
      type: string
      enum:
        - approved
        - declined
        - processed
      description: The result of an event.
    IssuedCardEventType:
      type: string
      enum:
        - authorization
        - reversal
        - authorization-advice
        - authorization-expiration
        - authorization-incremental
        - clearing
      description: The type of event that occurred on the card.
    IssuedCardFormFactor:
      type: string
      enum:
        - virtual
      description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
    IssuedCardState:
      type: string
      enum:
        - active
        - inactive
        - pending-verification
        - closed
      description: |-
        The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

        - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
        - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
        - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
        - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
    IssuedCardTransaction:
      type: object
      required:
        - cardTransactionID
        - issuedCardID
        - fundingWalletID
        - amount
        - authorizedOn
        - merchantData
        - createdOn
      properties:
        cardTransactionID:
          type: string
          format: uuid
        issuedCardID:
          type: string
          format: uuid
        fundingWalletID:
          type: string
          format: uuid
        amount:
          type: string
          format: ^\d+\.\d{1,2}$
          description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
          example: '-14.89'
        authorizationID:
          type: string
          format: uuid
        authorizedOn:
          type: string
          format: date-time
        merchantData:
          type: object
          properties:
            networkID:
              type: string
              description: External identifier used to identify the merchant with the card brand.
            name:
              type: string
              description: Name of the merchant.
              example: Whole Body Fitness
            city:
              type: string
              description: The merchant's location.
              example: San Francisco
            country:
              type: string
              description: Two-letter country code.
              example: US
            postalCode:
              type: string
              description: The merchant's five-digit postal code.
              example: '94107'
            state:
              type: string
              description: The merchant's two-letter state abbreviation.
              example: CA
            mcc:
              type: string
              description: The Merchant Category Code.
              example: '7298'
        createdOn:
          type: string
          format: date-time
    IssuingAuthorizationStatus:
      type: string
      enum:
        - pending
        - declined
        - canceled
        - cleared
        - expired
      description: Status of a card issuing authorization.
    IssuingControls:
      type: object
      properties:
        singleUse:
          type: boolean
          description: Indicates if the card is single-use. If true, the card closes after the first authorization.
        velocityLimits:
          type: array
          items:
            type: object
            required:
              - amount
              - interval
            properties:
              amount:
                type: integer
                format: int64
                description: The maximum amount in cents that can be spent in a given interval.
                example: 10000
              interval:
                type: string
                enum:
                  - per-transaction
                description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
          description: Sets the spending limit per time interval. Only one limit per interval is supported.
    IssuingControlsError:
      type: object
      properties:
        velocityLimits:
          type: object
          additionalProperties:
            type: object
            properties:
              amount:
                type: string
              interval:
                type: string
      example:
        velocityLimits:
          '0':
            amount: must be no less than 1
            interval: must be a valid value
    IssuingIntervalLimit:
      type: string
      enum:
        - per-transaction
      description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
    IssuingMerchantData:
      type: object
      properties:
        networkID:
          type: string
          description: External identifier used to identify the merchant with the card brand.
        name:
          type: string
          description: Name of the merchant.
          example: Whole Body Fitness
        city:
          type: string
          description: The merchant's location.
          example: San Francisco
        country:
          type: string
          description: Two-letter country code.
          example: US
        postalCode:
          type: string
          description: The merchant's five-digit postal code.
          example: '94107'
        state:
          type: string
          description: The merchant's two-letter state abbreviation.
          example: CA
        mcc:
          type: string
          description: The Merchant Category Code.
          example: '7298'
    IssuingVelocityLimit:
      type: object
      required:
        - amount
        - interval
      properties:
        amount:
          type: integer
          format: int64
          description: The maximum amount in cents that can be spent in a given interval.
          example: 10000
        interval:
          type: string
          enum:
            - per-transaction
          description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
    IssuingVelocityLimitError:
      type: object
      properties:
        amount:
          type: string
        interval:
          type: string
    ItemListNextPage:
      type: object
      required:
        - cursor
      properties:
        cursor:
          type: string
          description: The cursor value to use for the next page of items.
    JSONWebEncryptionToken:
      type: string
      format: jwe
      description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
    JSONWebKey:
      type: object
      required:
        - kty
      properties:
        kty:
          type: string
          description: The cryptographic algorithm family used with the key (e.g., 'RSA', 'EC', 'oct').
        use:
          type: string
          enum:
            - sig
            - enc
          description: The intended use of the key. 'sig' for signature, 'enc' for encryption.
        key_ops:
          type: array
          items:
            type: string
          description: The permitted operations for the key, e.g., 'sign', 'verify', 'encrypt', 'decrypt'.
        alg:
          type: string
          description: The algorithm intended for use with the key, e.g., 'RS256' or 'ES256'.
        kid:
          type: string
          description: A unique identifier for the key.
        crv:
          type: string
          description: |-
            The curve for Elliptic Curve keys, e.g., 'P-256', 'P-384', or 'P-521'.

            This field is required when `kty` is 'EC'.
        x:
          type: string
          description: |-
            The x coordinate for Elliptic Curve keys.

            This field is required when `kty` is 'EC'.
        'y':
          type: string
          description: |-
            The y coordinate for Elliptic Curve keys.

            This field is required when `kty` is 'EC'.
        'n':
          type: string
          description: |-
            The modulus value for RSA keys.

            This field is required when `kty` is 'RSA'.
        e:
          type: string
          description: |-
            The exponent value for RSA keys.

            This field is required when `kty` is 'RSA'.
      description: Describes an [RFC7517](https://datatracker.ietf.org/doc/html/rfc7517) web key.
      example:
        use: enc
        kty: EC
        kid: bOaoOIgm-7dI_gBIvsr0jQrPyYp6H_od0Ok-hSYZQ-g=
        crv: P-521
        alg: ECDH-ES+A256KW
        x: ABcm3wzKpPzYYwjDC0HSrxxVM3ULbuMDUuzkR5wNciaMHkZvQ02gLFdqTL65evV7EWaQyC7zRc28eW20p5MVDdQr
        'y': AVa-eQsoiltOcQYy1QEcrQ9NbWktl_D4ewfg8diOZ2_svLEgEu4T1PqNcLbBGozP_VqPkXOMwNCUNI7pxajVGiIP
    LinkAccountTerminalApplication:
      type: object
      required:
        - terminalApplicationID
      properties:
        terminalApplicationID:
          type: string
          format: uuid
          description: ID of the terminal application.
          example: 12345678-1234-1234-1234-123456789012
      description: Describes a request to link an account with a terminal application.
    LinkApplePay:
      type: object
      required:
        - token
      properties:
        token:
          type: object
          required:
            - paymentData
            - paymentMethod
            - transactionIdentifier
          properties:
            paymentData:
              type: object
              required:
                - version
                - data
                - signature
                - header
              properties:
                version:
                  type: string
                  description: Specifies the encryption used for the payment token ("EC_v1" or "RSA_v1").
                  example: EC_v1
                data:
                  type: string
                  description: The encrypted, base64-encoded payment data.
                  example: 3+f4oOTwPa6f1UZ6tG...CE=
                signature:
                  type: string
                  description: A base64 encoded signature of the payment and header data.
                  example: MIAGCSqGSIb3DQ.AAAA==
                header:
                  type: object
                  required:
                    - publicKeyHash
                    - transactionId
                  properties:
                    ephemeralPublicKey:
                      type: string
                      description: Base64-encoded ephemeral public key, used for ECC-encrypted payment data.
                      example: MFkwEK...Md==
                    publicKeyHash:
                      type: string
                      description: A base64-encoded, SHA-256 hash of the merchant's public key.
                      example: l0CnXdMv...D1I=
                    transactionId:
                      type: string
                      description: A device-generated identifier for the transaction.
                      example: 32b...4f3
                  description: |-
                    Information needed to decrypt Apple Pay payment data.

                    Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) 
                    for more information.
              description: |2-
                  Contains the encrypted payment data.

                  Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916115-paymentdata) 
                  for more information.
            paymentMethod:
              type: object
              required:
                - displayName
                - network
                - type
              properties:
                displayName:
                  type: string
                  description: A display-friendly discription of the card.
                  example: Visa 1234
                network:
                  type: string
                  description: The card's payment network.
                  example: Visa
                type:
                  type: string
                  description: The type of card.
                  example: debit
              description: |2-
                  Provides information about the underlying card.

                  Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916113-paymentmethod) 
                  for more information.
            transactionIdentifier:
              type: string
              description: A unique identifier provided by Apple Pay for this payment.
              example: 32b...4f3
          description: |2-
              Contains the user's payment information as returned from Apple Pay.

              Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken) 
              for more information.
        billingContact:
          type: object
          properties:
            addressLines:
              type: array
              items:
                type: string
              description: Address lines 1 and 2 for the contact.
              example:
                - 123 Sesame Street
            locality:
              type: string
              description: The contact's city.
              example: Phoenix
            postalCode:
              type: string
              description: The contact's postal code.
              example: '30345'
            administrativeArea:
              type: string
              description: The contact's two-letter state code.
              example: AZ
            countryCode:
              type: string
              description: The contact's two-letter ISO 3166
              example: US
          description: |2-
              Billing contact information as returned from Apple Pay.
              
              Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentcontact) 
              for more information.
      description: |2-
          The JSON structure returned from Apple Pay when authorizing a payment session.

          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment) 
          for more information.
    LinkApplePayError:
      type: object
      properties:
        error:
          type: string
          description: Describes an error that wasn't attributable to a single request field.
        paymentData:
          type: string
          description: Describes an error within the `token.paymentData` request field.
        paymentMethod:
          type: string
          description: Describes an error within the `token.paymentMethod` request field.
        transactionIdentifier:
          type: string
          description: Describes an error within the `token.transactionIdentifier` request field.
    LinkApplePayToken:
      type: object
      required:
        - paymentData
        - paymentMethod
        - transactionIdentifier
      properties:
        paymentData:
          type: object
          required:
            - version
            - data
            - signature
            - header
          properties:
            version:
              type: string
              description: Specifies the encryption used for the payment token ("EC_v1" or "RSA_v1").
              example: EC_v1
            data:
              type: string
              description: The encrypted, base64-encoded payment data.
              example: 3+f4oOTwPa6f1UZ6tG...CE=
            signature:
              type: string
              description: A base64 encoded signature of the payment and header data.
              example: MIAGCSqGSIb3DQ.AAAA==
            header:
              type: object
              required:
                - publicKeyHash
                - transactionId
              properties:
                ephemeralPublicKey:
                  type: string
                  description: Base64-encoded ephemeral public key, used for ECC-encrypted payment data.
                  example: MFkwEK...Md==
                publicKeyHash:
                  type: string
                  description: A base64-encoded, SHA-256 hash of the merchant's public key.
                  example: l0CnXdMv...D1I=
                transactionId:
                  type: string
                  description: A device-generated identifier for the transaction.
                  example: 32b...4f3
              description: |-
                Information needed to decrypt Apple Pay payment data.

                Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) 
                for more information.
          description: |2-
              Contains the encrypted payment data.

              Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916115-paymentdata) 
              for more information.
        paymentMethod:
          type: object
          required:
            - displayName
            - network
            - type
          properties:
            displayName:
              type: string
              description: A display-friendly discription of the card.
              example: Visa 1234
            network:
              type: string
              description: The card's payment network.
              example: Visa
            type:
              type: string
              description: The type of card.
              example: debit
          description: |2-
              Provides information about the underlying card.

              Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916113-paymentmethod) 
              for more information.
        transactionIdentifier:
          type: string
          description: A unique identifier provided by Apple Pay for this payment.
          example: 32b...4f3
      description: |2-
          Contains the user's payment information as returned from Apple Pay.

          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken) 
          for more information.
    LinkApplePaymentData:
      type: object
      required:
        - version
        - data
        - signature
        - header
      properties:
        version:
          type: string
          description: Specifies the encryption used for the payment token ("EC_v1" or "RSA_v1").
          example: EC_v1
        data:
          type: string
          description: The encrypted, base64-encoded payment data.
          example: 3+f4oOTwPa6f1UZ6tG...CE=
        signature:
          type: string
          description: A base64 encoded signature of the payment and header data.
          example: MIAGCSqGSIb3DQ.AAAA==
        header:
          type: object
          required:
            - publicKeyHash
            - transactionId
          properties:
            ephemeralPublicKey:
              type: string
              description: Base64-encoded ephemeral public key, used for ECC-encrypted payment data.
              example: MFkwEK...Md==
            publicKeyHash:
              type: string
              description: A base64-encoded, SHA-256 hash of the merchant's public key.
              example: l0CnXdMv...D1I=
            transactionId:
              type: string
              description: A device-generated identifier for the transaction.
              example: 32b...4f3
          description: |-
            Information needed to decrypt Apple Pay payment data.

            Refer to [Apple's documentation](https://developer.apple.com/documentation/passkit/payment-token-format-reference#Header-keys-and-values) 
            for more information.
      description: |2-
          Contains the encrypted payment data.

          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916115-paymentdata) 
          for more information.
    LinkApplePaymentMethod:
      type: object
      required:
        - displayName
        - network
        - type
      properties:
        displayName:
          type: string
          description: A display-friendly discription of the card.
          example: Visa 1234
        network:
          type: string
          description: The card's payment network.
          example: Visa
        type:
          type: string
          description: The type of card.
          example: debit
      description: |2-
          Provides information about the underlying card.

          Refer to [Apple's documentation](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymenttoken/1916113-paymentmethod) 
          for more information.
    LinkBankAccount:
      oneOf:
        - type: object
          required:
            - account
          properties:
            account:
              type: object
              required:
                - holderName
                - holderType
                - accountNumber
                - bankAccountType
                - routingNumber
              properties:
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                accountNumber:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
          description: Describes the bank account to link to the Moov account.
          title: Bank account
        - type: object
          required:
            - plaid
          properties:
            plaid:
              type: object
              required:
                - token
              properties:
                token:
                  type: string
              description: |-
                The details of a Plaid processor integration for a linked funding source. 

                `sandbox` - When linking a bank account to a `sandbox` account using a Plaid processor token a default bank account
                response will be used. The following default data will be used to generate the bank account in this flow:

                ```
                  RoutingNumber: "011401533",
                  AccountNumber: "1111222233330000",
                  AccountType:   "checking",
                  Mask:          "0000"
                ```
          description: Describes the account to link to the Moov account using a Plaid processor token.
          title: Plaid
        - type: object
          required:
            - plaidLink
          properties:
            plaidLink:
              type: object
              required:
                - publicToken
              properties:
                publicToken:
                  type: string
              description: |-
                This is used by Moov.js with a Plaid reseller relationship. The details of a Plaid link integration for a linked funding source.

                You can simulate linking bank accounts with Plaid in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#plaid)
                guide for more information.

                Plaid's `sandbox` environment - (requires Plaid reseller setup with Moov). When linking a bank account to a `sandbox` account using a Plaid 
                public token it will utilize Plaid's sandbox environment. The Plaid public token provided must be generated from Plaid's sandbox environment. 
                Please see <a href="https://plaid.com/docs/api/sandbox/#sandboxpublic_tokencreate" target="_blank">Plaid's sandbox documentation</a> for more 
                details.
          description: |-
            This is used by Moov.js with a Plaid reseller relationship. 

            Describes the account to link to the Moov account using a Plaid using a Plaid public token.
          title: Plaid Link
        - type: object
          required:
            - mx
          properties:
            mx:
              type: object
              required:
                - authorizationCode
              properties:
                authorizationCode:
                  type: string
              description: |-
                The authorization code of a MX account which allows a processor to retrieve a linked payment account. 

                `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment. 
                The MX authorization code provided must be generated from MX's sandbox environment.
          description: |-
            Describes the account to link to the Moov account using a MX processor token. 

            `sandbox` - When linking a bank account to a `sandbox` account using an MX authorization token a default bank account routing number will
            be used. The following default data will be used to generate the bank account in this flow:

            ```
              RoutingNumber: "123456780",
              BankName: "Gringotts Bank"
            ```
          title: MX
    LinkCard:
      type: object
      required:
        - cardNumber
        - cardCvv
        - expiration
        - billingAddress
      properties:
        e2ee:
          type: object
          required:
            - token
          properties:
            token:
              type: string
              format: jwe
              description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
          description: |-
            Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
            This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
            [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
          example:
            token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
        cardNumber:
          type: string
        cardCvv:
          type: string
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        holderName:
          type: string
        billingAddress:
          type: object
          required:
            - postalCode
          properties:
            addressLine1:
              type: string
              maxLength: 60
            addressLine2:
              type: string
              maxLength: 32
            city:
              type: string
              maxLength: 32
            stateOrProvince:
              type: string
              maxLength: 2
            postalCode:
              type: string
              maxLength: 10
            country:
              type: string
              maxLength: 2
          example:
            addressLine1: 123 Main Street
            addressLine2: Apt 302
            city: Boulder
            stateOrProvince: CO
            postalCode: '80301'
            country: US
        cardOnFile:
          type: boolean
        merchantAccountID:
          type: string
        verifyName:
          type: boolean
      example:
        cardNumber: '4111111111111111'
        cardCvv: '123'
        expiration:
          month: '01'
          year: '21'
        holderName: Jules Jackson
        billingAddress:
          postalCode: '80301'
    LinkCardError:
      type: object
      properties:
        error:
          type: string
        e2ee:
          type: object
          properties:
            token:
              type: string
        cardNumber:
          type: string
        cardCvv:
          type: string
        expiration:
          type: string
        holderName:
          type: string
        billingAddress:
          type: string
        cardOnFile:
          type: string
        merchantAccountID:
          type: string
        verifyName:
          type: string
    LinkCardWaitFor:
      type: string
      enum:
        - payment-method
      example: payment-method
    LinkedApplePayPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - applePay
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: The new payment method's ID.
        paymentMethodType:
          type: string
          enum:
            - moov-wallet
            - ach-debit-fund
            - ach-debit-collect
            - ach-credit-standard
            - ach-credit-same-day
            - rtp-credit
            - card-payment
            - push-to-card
            - pull-from-card
            - apple-pay
            - card-present-payment
          description: The payment method type that represents a payment rail and directionality
        applePay:
          type: object
          required:
            - brand
            - cardType
            - cardDisplayName
            - fingerprint
            - expiration
            - dynamicLastFour
          properties:
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            cardDisplayName:
              type: string
              description: |2-
                  User-friendly name of the tokenized card returned by Apple.
                  
                  It usually contains the brand and the last four digits of the underlying card.
                  There is no standard format.
              example: Visa 1256
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            dynamicLastFour:
              type: string
              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
            issuerCountry:
              type: string
              description: Country where the underlying card was issued.
              example: US
          description: Describes an Apple Pay token on a Moov account.
    ListFeesFetchRequest:
      type: object
      properties:
        feeIDs:
          type: array
          items:
            type: string
            format: uuid
      description: Array of fee IDs to fetch.
    ListTransfersValidationError:
      type: object
      properties:
        accountIDs:
          type: string
        status:
          type: string
        startDateTime:
          type: string
        endDateTime:
          type: string
        skip:
          type: string
        count:
          type: string
        groupID:
          type: string
        foreignID:
          type: string
        scheduleID:
          type: string
        paymentLinkCode:
          type: string
        refunded:
          type: string
        disputed:
          type: string
    ListWalletTransactionsValidationError:
      type: object
      properties:
        transactionType:
          type: string
        transactionTypes:
          type: string
        sourceType:
          type: string
        sourceID:
          type: string
        status:
          type: string
        sweepID:
          type: string
        createdStartDateTime:
          type: string
        createdEndDateTime:
          type: string
        completedStartDateTime:
          type: string
        completedEndDateTime:
          type: string
        statementDescriptor:
          type: string
        skip:
          type: string
        count:
          type: string
    ListWalletsValidationError:
      type: object
      properties:
        status:
          type: string
        walletType:
          type: string
        skip:
          type: string
        count:
          type: string
    MXAuthorizationCode:
      type: object
      required:
        - authorizationCode
      properties:
        authorizationCode:
          type: string
      description: |-
        The authorization code of a MX account which allows a processor to retrieve a linked payment account. 

        `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment. 
        The MX authorization code provided must be generated from MX's sandbox environment.
    ManualTermsOfService:
      type: object
      required:
        - acceptedDate
        - acceptedIP
        - acceptedUserAgent
        - acceptedDomain
      properties:
        acceptedDate:
          type: string
          format: date-time
          description: The date and time the terms of service were accepted.
        acceptedIP:
          type: string
          format: ipv4
          description: The IP address from which the terms of service were accepted.
          example: 172.217.2.46
        acceptedUserAgent:
          type: string
          maxLength: 255
          description: The user-agent of the user making the request.
          example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
        acceptedDomain:
          type: string
          format: uri
      description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
      title: Manual
    ManualTermsOfServiceUpdate:
      type: object
      properties:
        acceptedDate:
          type: string
          format: date-time
          description: The date and time the terms of service were accepted.
        acceptedIP:
          type: string
          format: ipv4
          description: The IP address from which the terms of service were accepted.
          example: 172.217.2.46
        acceptedUserAgent:
          type: string
          maxLength: 255
          description: The user-agent of the user making the request.
          example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
        acceptedDomain:
          type: string
          format: uri
      description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
      title: Manual
    ManualToSError:
      type: object
      properties:
        acceptedDate:
          type: string
        acceptedDomain:
          type: string
        acceptedIP:
          type: string
        acceptedUserAgent:
          type: string
    MerchantAccountID:
      type: string
      format: uuid
      description: ID of the merchant account.
      example: 76d4c8a0-1f2b-4e3b-8f5c-7a9e1b2c3d4e
    Metadata:
      type: object
      additionalProperties:
        type: string
      description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
      example:
        optional: metadata
    MicroDepositStatus:
      type: string
      enum:
        - verified
    MicroDepositValidationError:
      type: object
      properties:
        amounts:
          type: string
    MinimumCommitment:
      type: object
      allOf:
        - type: object
          required:
            - currency
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                For example, $12.987654321 is '12.987654321'.
              example: '12.987654321'
      description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
    Mode:
      type: string
      enum:
        - sandbox
        - production
      description: The operating mode for an account.
      example: production
    MoneyTransfer:
      type: object
      properties:
        pullFromCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
        pushToCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
    MoneyTransferError:
      type: object
      properties:
        pullFromCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
        pushToCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
    MoneyTransferPullFromCard:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    MoneyTransferPullFromCardError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    MoneyTransferPushToCard:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    MoneyTransferPushToCardError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    MonthlyPlatformFee:
      type: object
      allOf:
        - type: object
          required:
            - currency
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                For example, $12.987654321 is '12.987654321'.
              example: '12.987654321'
      description: Fixed recurring amount paid in the billing period regardless of usage.
    MonthlyVolumeRange:
      type: string
      enum:
        - under-10k
        - 10k-50k
        - 50k-100k
        - 100k-250k
        - 250k-500k
        - 500k-1m
        - 1m-5m
        - over-5m
      description: The low value in each range is included. The high value in each range is excluded.
    MoovFee:
      type: object
      required:
        - accountID
        - transferParty
        - totalAmount
        - feeIDs
      properties:
        accountID:
          type: string
          description: ID of the account that fees were charged to.
        transferParty:
          allOf:
            - type: string
              enum:
                - source
                - destination
                - partner
          description: Indicates whether the account charged was the partner, source, or destination of the transfer.
        totalAmount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The total amount of fees charged to the account.
        feeIDs:
          type: array
          items:
            type: string
          description: List of fee IDs that sum to the totalAmount.
      description: Moov fee charged to an account involved in a transfer.
    MoovFeeDetails:
      type: object
      required:
        - moovProcessing
      properties:
        cardScheme:
          type: string
          description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
        interchange:
          type: string
          description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
        discount:
          type: string
          description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
        moovProcessing:
          type: string
          description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
      description: Processing and pass-through costs that add up to the moovFee.
    MoovWalletPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - wallet
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - moov-wallet
        wallet:
          type: object
          required:
            - walletID
            - partnerAccountID
            - walletType
          properties:
            walletID:
              type: string
              format: uuid
            partnerAccountID:
              type: string
              format: uuid
            walletType:
              type: string
              enum:
                - default
                - general
              description: |-
                Type of a wallet.
                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                  - `general`: An additional, user-defined wallet created via API or Dashboard.
      title: Moov wallet
    MxPayload:
      type: object
      required:
        - mx
      properties:
        mx:
          type: object
          required:
            - authorizationCode
          properties:
            authorizationCode:
              type: string
          description: |-
            The authorization code of a MX account which allows a processor to retrieve a linked payment account. 

            `sandbox` - When linking a bank account to a `sandbox` account using a MX authorization code it will utilize MX's sandbox environment. 
            The MX authorization code provided must be generated from MX's sandbox environment.
      description: |-
        Describes the account to link to the Moov account using a MX processor token. 

        `sandbox` - When linking a bank account to a `sandbox` account using an MX authorization token a default bank account routing number will
        be used. The following default data will be used to generate the bank account in this flow:

        ```
          RoutingNumber: "123456780",
          BankName: "Gringotts Bank"
        ```
      title: MX
    Occurrence:
      type: object
      properties:
        canceled:
          type: boolean
          description: If set to true, will cancel the occurrence. If set false will resume the occurrence. If unset leaves the value unchanged.
        occurrenceID:
          type: string
          format: uuid
          description: |2-
              If set this defines what occurrence to modify, if invalid will fail the request. 
              If null or "" it defines to add a new occurrence.
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        runOn:
          type: string
          format: date-time
          description: Timestamp to run the transfer after. Value must be into the future.
          example: '2009-11-10T23:00:00Z'
        runTransfer:
          type: object
          required:
            - amount
            - destination
            - partnerAccountID
            - source
            - description
          properties:
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
            destination:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            partnerAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            source:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            description:
              type: string
              description: Simple description to place on the transfer.
          description: Defines the attributes of a transfer.
      description: Occurrences to either create or modify.
    OccurrenceStatus:
      type: string
      enum:
        - pending
        - failed
        - completed
      description: Status of the completed occurrence.
    OccurrencesResponse:
      type: object
      required:
        - runOn
        - runTransfer
      properties:
        scheduleID:
          type: string
          format: uuid
        occurrenceID:
          type: string
          format: uuid
        mode:
          allOf:
            - type: string
              enum:
                - sandbox
                - production
              description: The operating mode for an account.
              example: production
          description: Sandbox or production account mode of this schedule.
        generated:
          type: boolean
          description: True if this was generated by a RRule.
        indefinite:
          type: boolean
          description: True if the RRule set runs indefinitely.
        canceledOn:
          type: string
          format: date-time
        runOn:
          type: string
          format: date-time
        runTransfer:
          type: object
          required:
            - amount
            - destination
            - partnerAccountID
            - source
            - description
          properties:
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
            destination:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            partnerAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            source:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            description:
              type: string
              description: Simple description to place on the transfer.
          description: Defines the attributes of a transfer.
        ranOn:
          type: string
          format: date-time
        ranTransferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - pending
            - failed
            - completed
          description: Status of the completed occurrence.
        error:
          type: object
          properties:
            message:
              type: string
          description: Contains details on why the occurrence errored.
    OnboardingInvite:
      type: object
      required:
        - code
        - link
        - scopes
        - capabilities
        - feePlanCodes
        - createdOn
      properties:
        code:
          type: string
          description: A unique code that identifies an onboarding invite.
          example: N1IA5eWYNh
        link:
          type: string
          format: uri
          description: A unique URL, including the invite code, that the recipient can follow to redeem the invitation.
        returnURL:
          type: string
          description: The scopes requested by the inviter.
        termsOfServiceURL:
          type: string
          description: The terms of service URL set by the inviter.
        scopes:
          type: array
          items:
            type: string
            enum:
              - accounts.read
              - accounts.write
              - analytics.read
              - apple-pay-merchant.read
              - apple-pay-merchant.write
              - apple-pay.read
              - apple-pay.write
              - bank-accounts.read
              - bank-accounts.write
              - capabilities.read
              - capabilities.write
              - cards.read
              - cards.write
              - documents.read
              - documents.write
              - fed.read
              - files.read
              - files.write
              - issued-cards.read
              - issued-cards.write
              - issued-cards.read-secure
              - payment-methods.read
              - ping.read
              - profile-enrichment.read
              - profile.read
              - profile.write
              - profile.disconnect
              - representatives.read
              - representatives.write
              - transfers.read
              - transfers.write
              - wallets.read
            description: A permission that the application requests on another account.
          minItems: 1
          description: |-
            List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
            account. These values are used to determine what can be done with the account onboarded.
          example:
            - accounts.read
        capabilities:
          type: array
          items:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
          minItems: 1
          description: |2-
              List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
              account. These values are used to determine what information to collect from the user during onboarding.
          example:
            - transfers
        feePlanCodes:
          type: array
          items:
            type: string
          minItems: 1
          description: List of fee plan codes to assign the account created by the invitee.
          example:
            - merchant-direct
        redeemedAccountID:
          type: string
          format: uuid
          description: The account ID of the account that redeemed the invite.
        prefill:
          type: object
          required:
            - accountType
            - profile
          properties:
            accountType:
              type: string
              enum:
                - individual
                - business
            profile:
              type: object
              properties:
                individual:
                  type: object
                  required:
                    - name
                  properties:
                    name:
                      type: object
                      required:
                        - firstName
                        - lastName
                      properties:
                        firstName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's first given name.
                          example: Jordan
                        middleName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's second given name, if any.
                          example: Reese
                        lastName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's family name.
                          example: Lee
                        suffix:
                          type: string
                          maxLength: 20
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: Suffix of a given name.
                          example: Jr
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    birthDate:
                      type: object
                      required:
                        - day
                        - month
                        - year
                      properties:
                        day:
                          type: integer
                          example: 9
                        month:
                          type: integer
                          example: 11
                        year:
                          type: integer
                          example: 1989
                    governmentID:
                      type: object
                      properties:
                        ssn:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                        itin:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                business:
                  type: object
                  required:
                    - legalBusinessName
                  properties:
                    legalBusinessName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                      description: The legal name under which the entity is registered.
                      example: Classbooker, LLC
                    doingBusinessAs:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                      description: A registered trade name under which the business operates, if different from its legal name.
                    businessType:
                      type: string
                      enum:
                        - soleProprietorship
                        - unincorporatedAssociation
                        - trust
                        - publicCorporation
                        - privateCorporation
                        - llc
                        - partnership
                        - unincorporatedNonProfit
                        - incorporatedNonProfit
                        - governmentEntity
                      description: The type of entity represented by this business.
                      example: llc
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    website:
                      type: string
                      format: uri
                      maxLength: 100
                    description:
                      type: string
                      minLength: 10
                      maxLength: 100
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Local fitness gym paying out instructors
                    taxID:
                      type: object
                      required:
                        - ein
                      properties:
                        ein:
                          type: object
                          properties:
                            number:
                              type: string
                              example: 12-3456789
                          required:
                            - number
                      description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                    industryCodes:
                      type: object
                      properties:
                        naics:
                          type: string
                          minLength: 2
                          maxLength: 6
                          example: '713940'
                        sic:
                          type: string
                          minLength: 4
                          maxLength: 4
                          example: '7991'
                        mcc:
                          type: string
                          minLength: 4
                          maxLength: 4
                          example: '7997'
                    primaryRegulator:
                      type: string
                      enum:
                        - OCC
                        - FDIC
                        - NCUA
                        - FRB
                        - state-cu-regulator
                      description: If the business is a financial institution, this field describes its primary regulator.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
              example:
                optional: metadata
            termsOfService:
              oneOf:
                - type: object
                  required:
                    - token
                  properties:
                    token:
                      type: string
                      example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                  description: An encrypted value used to record acceptance of Moov's Terms of Service.
                  title: Token
                - type: object
                  required:
                    - acceptedDate
                    - acceptedIP
                    - acceptedUserAgent
                    - acceptedDomain
                  properties:
                    acceptedDate:
                      type: string
                      format: date-time
                      description: The date and time the terms of service were accepted.
                    acceptedIP:
                      type: string
                      format: ipv4
                      description: The IP address from which the terms of service were accepted.
                      example: 172.217.2.46
                    acceptedUserAgent:
                      type: string
                      maxLength: 255
                      description: The user-agent of the user making the request.
                      example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                    acceptedDomain:
                      type: string
                      format: uri
                  description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                  title: Manual
            foreignID:
              type: string
              maxLength: 64
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              description: Optional alias from a foreign/external system which can be used to reference this resource.
            customerSupport:
              type: object
              properties:
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                website:
                  type: string
                  format: uri
              description: |-
                User-provided information that can be displayed on credit card transactions for customers to use when
                contacting a customer support team. This data is only allowed on a business account.
            settings:
              type: object
              properties:
                cardPayment:
                  type: object
                  properties:
                    statementDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      pattern: '[a-zA-Z0-9.!*-+_ ]+'
                      description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                      example: Whole Body Fitness
                  description: User provided settings to manage card payments. This data is only allowed on a business account.
                achPayment:
                  type: object
                  required:
                    - companyName
                  properties:
                    companyName:
                      type: string
                      minLength: 1
                      maxLength: 16
                      pattern: '[a-zA-Z0-9- ]+'
                      description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                      example: WholeBodyFitness
              description: User provided settings to manage an account.
            capabilities:
              type: array
              items:
                type: string
                enum:
                  - transfers
                  - send-funds
                  - send-funds.push-to-card
                  - money-transfer.push-to-card
                  - send-funds.ach
                  - send-funds.rtp
                  - send-funds.instant-bank
                  - collect-funds
                  - collect-funds.card-payments
                  - money-transfer.pull-from-card
                  - collect-funds.ach
                  - wallet
                  - wallet.balance
                  - card-issuing
                  - production-app
                  - platform.production-app
                  - platform.wallet-transfers
                description: |-
                  Moov account capabilities.

                  The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
            mode:
              type: string
              enum:
                - sandbox
                - production
              description: The operating mode for an account.
              example: production
          example:
            accountType: business
            profile:
              business:
                legalBusinessName: Whole Body Fitness LLC
        partner:
          type: object
          required:
            - accountID
            - accountMode
            - displayName
          properties:
            accountID:
              type: string
              format: uuid
              description: The account ID of the partner that created the invite.
            accountMode:
              type: string
              enum:
                - sandbox
                - production
              description: The operating mode for an account.
              example: production
            displayName:
              type: string
              description: The name of the Moov account used to create the onboarding invite.
              example: Bob's Widgets
          description: The account that created the onboarding invite.
        createdOn:
          type: string
          format: date-time
        revokedOn:
          type: string
          format: date-time
        redeemedOn:
          type: string
          format: date-time
    OnboardingInviteCode:
      type: string
      description: A unique code that identifies an onboarding invite.
      example: N1IA5eWYNh
    OnboardingInviteError:
      type: object
      properties:
        returnURL:
          type: string
        termsOfServiceURL:
          type: string
        scopes:
          type: object
          additionalProperties:
            type: string
          example:
            '0': first element failed validation...
        capabilities:
          type: object
          additionalProperties:
            type: string
          example:
            '0': first element failed validation...
        feePlanCodes:
          type: object
          additionalProperties:
            type: string
          example:
            '0': first element failed validation...
    OnboardingInviteRequest:
      type: object
      required:
        - scopes
        - capabilities
        - feePlanCodes
      properties:
        returnURL:
          type: string
          format: uri
          description: Optional URL to redirect the user to after they complete the onboarding process.
        termsOfServiceURL:
          type: string
          format: uri
          description: Optional URL to your organization's terms of service.
        scopes:
          type: array
          items:
            type: string
            enum:
              - accounts.read
              - accounts.write
              - analytics.read
              - apple-pay-merchant.read
              - apple-pay-merchant.write
              - apple-pay.read
              - apple-pay.write
              - bank-accounts.read
              - bank-accounts.write
              - capabilities.read
              - capabilities.write
              - cards.read
              - cards.write
              - documents.read
              - documents.write
              - fed.read
              - files.read
              - files.write
              - issued-cards.read
              - issued-cards.write
              - issued-cards.read-secure
              - payment-methods.read
              - ping.read
              - profile-enrichment.read
              - profile.read
              - profile.write
              - profile.disconnect
              - representatives.read
              - representatives.write
              - transfers.read
              - transfers.write
              - wallets.read
            description: A permission that the application requests on another account.
          minItems: 1
          description: |2-
              List of [scopes](https://docs.moov.io/api/authentication/scopes/) you request to use on this
              account. These values are used to determine what can be done with the account onboarded.
          example:
            - accounts.read
        capabilities:
          type: array
          items:
            type: string
            enum:
              - transfers
              - send-funds
              - send-funds.push-to-card
              - money-transfer.push-to-card
              - send-funds.ach
              - send-funds.rtp
              - send-funds.instant-bank
              - collect-funds
              - collect-funds.card-payments
              - money-transfer.pull-from-card
              - collect-funds.ach
              - wallet
              - wallet.balance
              - card-issuing
              - production-app
              - platform.production-app
              - platform.wallet-transfers
            description: |-
              Moov account capabilities.

              The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
          minItems: 1
          description: |2-
              List of [capabilities](https://docs.moov.io/guides/accounts/capabilities/) you intend to request for this
              account. These values are used to determine what information to collect from the user during onboarding.
          example:
            - transfers
        feePlanCodes:
          type: array
          items:
            type: string
          minItems: 1
          description: List of fee plan codes to assign the account created by the invitee.
          example:
            - merchant-direct
        prefill:
          type: object
          required:
            - accountType
            - profile
          properties:
            accountType:
              type: string
              enum:
                - individual
                - business
            profile:
              type: object
              properties:
                individual:
                  type: object
                  required:
                    - name
                  properties:
                    name:
                      type: object
                      required:
                        - firstName
                        - lastName
                      properties:
                        firstName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's first given name.
                          example: Jordan
                        middleName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's second given name, if any.
                          example: Reese
                        lastName:
                          type: string
                          maxLength: 64
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: The individual's family name.
                          example: Lee
                        suffix:
                          type: string
                          maxLength: 20
                          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                          description: Suffix of a given name.
                          example: Jr
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    birthDate:
                      type: object
                      required:
                        - day
                        - month
                        - year
                      properties:
                        day:
                          type: integer
                          example: 9
                        month:
                          type: integer
                          example: 11
                        year:
                          type: integer
                          example: 1989
                    governmentID:
                      type: object
                      properties:
                        ssn:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                        itin:
                          type: object
                          properties:
                            full:
                              type: string
                              pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                            lastFour:
                              type: string
                business:
                  type: object
                  required:
                    - legalBusinessName
                  properties:
                    legalBusinessName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                      description: The legal name under which the entity is registered.
                      example: Classbooker, LLC
                    doingBusinessAs:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                      description: A registered trade name under which the business operates, if different from its legal name.
                    businessType:
                      type: string
                      enum:
                        - soleProprietorship
                        - unincorporatedAssociation
                        - trust
                        - publicCorporation
                        - privateCorporation
                        - llc
                        - partnership
                        - unincorporatedNonProfit
                        - incorporatedNonProfit
                        - governmentEntity
                      description: The type of entity represented by this business.
                      example: llc
                    address:
                      type: object
                      required:
                        - addressLine1
                        - city
                        - stateOrProvince
                        - postalCode
                        - country
                      properties:
                        addressLine1:
                          type: string
                          maxLength: 60
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: 123 Main Street
                        addressLine2:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Apt 302
                        city:
                          type: string
                          maxLength: 32
                          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                          example: Boulder
                        stateOrProvince:
                          type: string
                          maxLength: 2
                          example: CO
                        postalCode:
                          type: string
                          maxLength: 5
                          example: '80301'
                        country:
                          type: string
                          maxLength: 2
                          example: US
                    phone:
                      type: object
                      properties:
                        number:
                          type: string
                          maxLength: 10
                          example: '8185551212'
                        countryCode:
                          type: string
                          maxLength: 1
                          example: '1'
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      example: jordan.lee@classbooker.dev
                    website:
                      type: string
                      format: uri
                      maxLength: 100
                    description:
                      type: string
                      minLength: 10
                      maxLength: 100
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Local fitness gym paying out instructors
                    taxID:
                      type: object
                      required:
                        - ein
                      properties:
                        ein:
                          type: object
                          properties:
                            number:
                              type: string
                              example: 12-3456789
                          required:
                            - number
                      description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                    industryCodes:
                      type: object
                      properties:
                        naics:
                          type: string
                          minLength: 2
                          maxLength: 6
                          example: '713940'
                        sic:
                          type: string
                          minLength: 4
                          maxLength: 4
                          example: '7991'
                        mcc:
                          type: string
                          minLength: 4
                          maxLength: 4
                          example: '7997'
                    primaryRegulator:
                      type: string
                      enum:
                        - OCC
                        - FDIC
                        - NCUA
                        - FRB
                        - state-cu-regulator
                      description: If the business is a financial institution, this field describes its primary regulator.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
              example:
                optional: metadata
            termsOfService:
              oneOf:
                - type: object
                  required:
                    - token
                  properties:
                    token:
                      type: string
                      example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
                  description: An encrypted value used to record acceptance of Moov's Terms of Service.
                  title: Token
                - type: object
                  required:
                    - acceptedDate
                    - acceptedIP
                    - acceptedUserAgent
                    - acceptedDomain
                  properties:
                    acceptedDate:
                      type: string
                      format: date-time
                      description: The date and time the terms of service were accepted.
                    acceptedIP:
                      type: string
                      format: ipv4
                      description: The IP address from which the terms of service were accepted.
                      example: 172.217.2.46
                    acceptedUserAgent:
                      type: string
                      maxLength: 255
                      description: The user-agent of the user making the request.
                      example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                    acceptedDomain:
                      type: string
                      format: uri
                  description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
                  title: Manual
            foreignID:
              type: string
              maxLength: 64
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              description: Optional alias from a foreign/external system which can be used to reference this resource.
            customerSupport:
              type: object
              properties:
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  required:
                    - addressLine1
                    - city
                    - stateOrProvince
                    - postalCode
                    - country
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                website:
                  type: string
                  format: uri
              description: |-
                User-provided information that can be displayed on credit card transactions for customers to use when
                contacting a customer support team. This data is only allowed on a business account.
            settings:
              type: object
              properties:
                cardPayment:
                  type: object
                  properties:
                    statementDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      pattern: '[a-zA-Z0-9.!*-+_ ]+'
                      description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
                      example: Whole Body Fitness
                  description: User provided settings to manage card payments. This data is only allowed on a business account.
                achPayment:
                  type: object
                  required:
                    - companyName
                  properties:
                    companyName:
                      type: string
                      minLength: 1
                      maxLength: 16
                      pattern: '[a-zA-Z0-9- ]+'
                      description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
                      example: WholeBodyFitness
              description: User provided settings to manage an account.
            capabilities:
              type: array
              items:
                type: string
                enum:
                  - transfers
                  - send-funds
                  - send-funds.push-to-card
                  - money-transfer.push-to-card
                  - send-funds.ach
                  - send-funds.rtp
                  - send-funds.instant-bank
                  - collect-funds
                  - collect-funds.card-payments
                  - money-transfer.pull-from-card
                  - collect-funds.ach
                  - wallet
                  - wallet.balance
                  - card-issuing
                  - production-app
                  - platform.production-app
                  - platform.wallet-transfers
                description: |-
                  Moov account capabilities.

                  The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
            mode:
              type: string
              enum:
                - sandbox
                - production
              description: The operating mode for an account.
              example: production
          example:
            accountType: business
            profile:
              business:
                legalBusinessName: Whole Body Fitness LLC
      description: Request to create an onboarding invite.
    OnboardingPartnerAccount:
      type: object
      required:
        - accountID
        - accountMode
        - displayName
      properties:
        accountID:
          type: string
          format: uuid
          description: The account ID of the partner that created the invite.
        accountMode:
          type: string
          enum:
            - sandbox
            - production
          description: The operating mode for an account.
          example: production
        displayName:
          type: string
          description: The name of the Moov account used to create the onboarding invite.
          example: Bob's Widgets
      description: The account that created the onboarding invite.
    OperatingCountry:
      type: string
      maxLength: 64
      example: United States
    OrderBy:
      type: string
      description: Optional parameter to order the results in the query.
      example: created-at:desc
    OtherCardFees:
      type: object
      required:
        - disputes
        - cardAccountUpdater
        - cardVerification
        - nameVerification
        - total
      properties:
        disputes:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for disputes.
        cardAccountUpdater:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for card account updater services.
        cardVerification:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for card verification.
        nameVerification:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Fees for name verification.
        total:
          allOf:
            - type: object
              required:
                - count
                - amount
              properties:
                count:
                  type: integer
                  format: int64
                  description: The number of items.
                amount:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount.
              description: Represents a count of items and their total amount.
          description: Total other card fees.
      description: A detailed breakdown of other card-related fees.
    PartialScheduleAccount:
      type: object
      required:
        - accountID
        - displayName
      properties:
        accountID:
          type: string
        displayName:
          type: string
        email:
          type: string
    PartnerPricing:
      type: object
      required:
        - planID
        - name
        - revenueShare
        - cardAcquiringModel
        - billableFees
        - minimumCommitment
        - monthlyPlatformFee
        - createdAt
      properties:
        planID:
          type: string
          format: uuid
        name:
          type: string
          description: The name of the fee plan.
          example: Fixed Rate Merchant Plan
        description:
          type: string
          description: A description of the fee plan.
        revenueShare:
          type: integer
          description: The integer percentage value of the revenue split for partner.
          example: 10
        cardAcquiringModel:
          type: string
          enum:
            - cost-plus
            - flat-rate
          description: Specifies the card processing pricing model
        billableFees:
          type: array
          items:
            type: object
            required:
              - feeModel
              - feeCategory
            properties:
              billableFeeID:
                type: string
                format: uuid
              billableEvent:
                type: string
                description: A unique code identifying a charge.
              feeName:
                type: string
                description: Specifies the name of the fee that will be billed.
              feeModel:
                type: string
                enum:
                  - fixed
                  - blended
                  - variable
                description: Specifies the pricing model used for the calculation of the final fee.
              feeCategory:
                type: string
                enum:
                  - ach
                  - card-acquiring
                  - card-other
                  - card-pull
                  - card-push
                  - monthly-platform
                  - network-passthrough
                  - other
                  - rtp
              feeProperties:
                type: object
                properties:
                  fixedAmount:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                  variableRate:
                    type: string
                    pattern: ^[0-9]+.?[0-9]*$
                    description: |-
                      A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                      For example, 0.05% is '0.05'.
                    example: '0.05'
                  minPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                  maxPerTransaction:
                    allOf:
                      - type: object
                        required:
                          - currency
                          - valueDecimal
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          valueDecimal:
                            type: string
                            pattern: ^\d+\.\d{1,9}$
                            description: |-
                              A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                              For example, $12.987654321 is '12.987654321'.
                            example: '12.987654321'
                    description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                description: Defines the specific parameters used for fee calculation.
                example:
                  fixedAmount:
                    currency: USD
                    valueDecimal: '0.0195'
                  variableRate: '0.15'
                  minPerTransaction:
                    currency: USD
                    valueDecimal: '0.0195'
                  maxPerTransaction:
                    currency: USD
                    valueDecimal: '0.035'
              feeConditions:
                type: object
                additionalProperties: {}
                description: Defines the specific conditions that must be met for the fee to be applied.
                example:
                  cardBrand:
                    - visa
            example:
              billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
              billableEvent: card-auth-volume
              feeName: Card decline fee
              feeModel: fixed
              feeCategory: card-acquiring
              feeProperties:
                fixedAmount:
                  currency: USD
                  valueDecimal: '0.1'
              feeConditions:
                transactionType:
                  - decline
        minimumCommitment:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
        monthlyPlatformFee:
          type: object
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Fixed recurring amount paid in the billing period regardless of usage.
        createdAt:
          type: string
          format: date-time
    PartnerPricingAgreement:
      type: object
      required:
        - revenueShare
      properties:
        revenueShare:
          type: integer
          description: The integer percentage value of the revenue split for partner.
          example: 10
      allOf:
        - type: object
          required:
            - agreementID
            - planID
            - name
            - acceptedOn
            - status
            - cardAcquiringModel
            - billableFees
            - minimumCommitment
            - monthlyPlatformFee
          properties:
            agreementID:
              type: string
              format: uuid
            planID:
              type: string
              format: uuid
            accountID:
              type: string
              format: uuid
            name:
              type: string
              description: The name of the agreement.
            description:
              type: string
              description: The description of the agreement.
            acceptedOn:
              type: string
              format: date-time
            status:
              type: string
              enum:
                - active
                - terminated
            cardAcquiringModel:
              type: string
              enum:
                - cost-plus
                - flat-rate
              description: Specifies the card processing pricing model
            billableFees:
              type: array
              items:
                type: object
                required:
                  - feeModel
                  - feeCategory
                properties:
                  billableFeeID:
                    type: string
                    format: uuid
                  billableEvent:
                    type: string
                    description: A unique code identifying a charge.
                  feeName:
                    type: string
                    description: Specifies the name of the fee that will be billed.
                  feeModel:
                    type: string
                    enum:
                      - fixed
                      - blended
                      - variable
                    description: Specifies the pricing model used for the calculation of the final fee.
                  feeCategory:
                    type: string
                    enum:
                      - ach
                      - card-acquiring
                      - card-other
                      - card-pull
                      - card-push
                      - monthly-platform
                      - network-passthrough
                      - other
                      - rtp
                  feeProperties:
                    type: object
                    properties:
                      fixedAmount:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: A fixed fee that is applied to the amount of each transaction in the `fixed` and `blended` fee models.
                      variableRate:
                        type: string
                        pattern: ^[0-9]+.?[0-9]*$
                        description: |-
                          A percentage fee that is applied to the amount of each transaction in the `blended` fee model, expressed as a decimal. 

                          For example, 0.05% is '0.05'.
                        example: '0.05'
                      minPerTransaction:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: Specifies the minimum allowable spending for a single transaction, working as a transaction floor.
                      maxPerTransaction:
                        allOf:
                          - type: object
                            required:
                              - currency
                              - valueDecimal
                            properties:
                              currency:
                                type: string
                                pattern: ^[A-Za-z]{3}$
                                description: A 3-letter ISO 4217 currency code.
                                example: USD
                              valueDecimal:
                                type: string
                                pattern: ^\d+\.\d{1,9}$
                                description: |-
                                  A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                  For example, $12.987654321 is '12.987654321'.
                                example: '12.987654321'
                        description: Specifies the maximum allowable spending for a single transaction, working as a transaction ceiling.
                    description: Defines the specific parameters used for fee calculation.
                    example:
                      fixedAmount:
                        currency: USD
                        valueDecimal: '0.0195'
                      variableRate: '0.15'
                      minPerTransaction:
                        currency: USD
                        valueDecimal: '0.0195'
                      maxPerTransaction:
                        currency: USD
                        valueDecimal: '0.035'
                  feeConditions:
                    type: object
                    additionalProperties: {}
                    description: Defines the specific conditions that must be met for the fee to be applied.
                    example:
                      cardBrand:
                        - visa
                example:
                  billableFeeID: 9d957d33-1a9a-47aa-9460-fe1a90f003dd
                  billableEvent: card-auth-volume
                  feeName: Card decline fee
                  feeModel: fixed
                  feeCategory: card-acquiring
                  feeProperties:
                    fixedAmount:
                      currency: USD
                      valueDecimal: '0.1'
                  feeConditions:
                    transactionType:
                      - decline
            minimumCommitment:
              type: object
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference.
            monthlyPlatformFee:
              type: object
              allOf:
                - type: object
                  required:
                    - currency
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
                      description: |-
                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                        For example, $12.987654321 is '12.987654321'.
                      example: '12.987654321'
              description: Fixed recurring amount paid in the billing period regardless of usage.
    PatchAccount:
      type: object
      properties:
        profile:
          type: object
          properties:
            individual:
              type: object
              properties:
                name:
                  type: object
                  properties:
                    firstName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's first given name.
                      example: Jordan
                    middleName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's second given name, if any.
                      example: Reese
                    lastName:
                      type: string
                      maxLength: 64
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: The individual's family name.
                      example: Lee
                    suffix:
                      type: string
                      maxLength: 20
                      pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                      description: Suffix of a given name.
                      example: Jr
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                birthDate:
                  type: object
                  properties:
                    day:
                      type: integer
                      example: 9
                    month:
                      type: integer
                      example: 11
                    year:
                      type: integer
                      example: 1989
                governmentID:
                  type: object
                  properties:
                    ssn:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
                    itin:
                      type: object
                      properties:
                        full:
                          type: string
                          pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                        lastFour:
                          type: string
              description: Describes the fields available when patching an individual.
            business:
              type: object
              properties:
                legalBusinessName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                doingBusinessAs:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
                businessType:
                  type: string
                  enum:
                    - soleProprietorship
                    - unincorporatedAssociation
                    - trust
                    - publicCorporation
                    - privateCorporation
                    - llc
                    - partnership
                    - unincorporatedNonProfit
                    - incorporatedNonProfit
                    - governmentEntity
                  description: The type of entity represented by this business.
                  example: llc
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                website:
                  type: string
                  maxLength: 100
                description:
                  type: string
                  minLength: 10
                  maxLength: 100
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                taxID:
                  type: object
                  properties:
                    ein:
                      type: object
                      properties:
                        number:
                          type: string
                          example: 12-3456789
                  description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
                ownersProvided:
                  type: boolean
                industryCodes:
                  type: object
                  properties:
                    naics:
                      type: string
                      minLength: 2
                      maxLength: 6
                      example: '713940'
                    sic:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7991'
                    mcc:
                      type: string
                      minLength: 4
                      maxLength: 4
                      example: '7997'
                primaryRegulator:
                  type: string
                  enum:
                    - OCC
                    - FDIC
                    - NCUA
                    - FRB
                    - state-cu-regulator
                  description: If the business is a financial institution, this field describes its primary regulator.
          description: |-
            Describes the fields available when patching a profile.
            Each object can be patched independent of patching the other fields.
        metadata:
          type: object
          allOf:
            - type: object
              additionalProperties:
                type: string
              description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
              example:
                optional: metadata
          nullable: true
        termsOfService:
          oneOf:
            - type: object
              properties:
                token:
                  type: string
                  example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
              description: An encrypted value used to record acceptance of Moov's Terms of Service.
              title: Token
            - type: object
              properties:
                acceptedDate:
                  type: string
                  format: date-time
                  description: The date and time the terms of service were accepted.
                acceptedIP:
                  type: string
                  format: ipv4
                  description: The IP address from which the terms of service were accepted.
                  example: 172.217.2.46
                acceptedUserAgent:
                  type: string
                  maxLength: 255
                  description: The user-agent of the user making the request.
                  example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36
                acceptedDomain:
                  type: string
                  format: uri
              description: Describes the acceptance of the Terms of Service. All data is required, and must be from the user.
              title: Manual
        foreignID:
          type: string
        customerSupport:
          type: object
          allOf:
            - type: object
              properties:
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: 123 Main Street
                    addressLine2:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Apt 302
                    city:
                      type: string
                      maxLength: 32
                      pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                      example: Boulder
                    stateOrProvince:
                      type: string
                      maxLength: 2
                      example: CO
                    postalCode:
                      type: string
                      maxLength: 5
                      example: '80301'
                    country:
                      type: string
                      maxLength: 2
                      example: US
                website:
                  type: string
                  format: uri
              description: |-
                User-provided information that can be displayed on credit card transactions for customers to use when
                contacting a customer support team. This data is only allowed on a business account.
          nullable: true
        settings:
          type: object
          properties:
            cardPayment:
              type: object
              properties:
                statementDescriptor:
                  type: string
            achPayment:
              type: object
              properties:
                companyName:
                  type: string
      description: Describes the fields available when patching a Moov account.
    PatchAccountError:
      type: object
      properties:
        profile:
          type: object
          properties:
            individual:
              type: object
              properties:
                name:
                  type: object
                  properties:
                    firstName:
                      type: string
                    middleName:
                      type: string
                    lastName:
                      type: string
                    suffix:
                      type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
                email:
                  type: string
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                    addressLine2:
                      type: string
                    city:
                      type: string
                    stateOrProvince:
                      type: string
                    postalCode:
                      type: string
                    country:
                      type: string
                birthDate:
                  type: object
                  properties:
                    day:
                      type: string
                    month:
                      type: string
                    year:
                      type: string
                governmentID:
                  type: object
                  properties:
                    ssn:
                      type: object
                      properties:
                        full:
                          type: string
                        lastFour:
                          type: string
                    itin:
                      type: object
                      properties:
                        full:
                          type: string
                        lastFour:
                          type: string
            business:
              type: object
              properties:
                legalBusinessName:
                  type: string
                doingBusinessAs:
                  type: string
                businessType:
                  type: string
                address:
                  type: object
                  properties:
                    addressLine1:
                      type: string
                    addressLine2:
                      type: string
                    city:
                      type: string
                    stateOrProvince:
                      type: string
                    postalCode:
                      type: string
                    country:
                      type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
                email:
                  type: string
                website:
                  type: string
                description:
                  type: string
                taxID:
                  type: object
                  properties:
                    ein:
                      type: object
                      properties:
                        number:
                          type: string
                industryCodes:
                  type: object
                  properties:
                    naics:
                      type: string
                    sic:
                      type: string
                    mcc:
                      type: string
                primaryRegulator:
                  type: string
        metadata:
          type: string
        termsOfService:
          type: object
          properties:
            token:
              type: string
            manual:
              type: object
              properties:
                acceptedDate:
                  type: string
                acceptedDomain:
                  type: string
                acceptedIP:
                  type: string
                acceptedUserAgent:
                  type: string
        foreignID:
          type: string
        customerSupport:
          type: object
          properties:
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
            email:
              type: string
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                addressLine2:
                  type: string
                city:
                  type: string
                stateOrProvince:
                  type: string
                postalCode:
                  type: string
                country:
                  type: string
            website:
              type: string
        settings:
          type: object
          properties:
            cardPayment:
              type: object
              properties:
                statementDescriptor:
                  type: string
            achPayment:
              type: object
              properties:
                companyName:
                  type: string
        error:
          type: string
    PatchBusiness:
      type: object
      properties:
        legalBusinessName:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
        doingBusinessAs:
          type: string
          maxLength: 64
          pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
        businessType:
          type: string
          enum:
            - soleProprietorship
            - unincorporatedAssociation
            - trust
            - publicCorporation
            - privateCorporation
            - llc
            - partnership
            - unincorporatedNonProfit
            - incorporatedNonProfit
            - governmentEntity
          description: The type of entity represented by this business.
          example: llc
        address:
          type: object
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        website:
          type: string
          maxLength: 100
        description:
          type: string
          minLength: 10
          maxLength: 100
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
        taxID:
          type: object
          properties:
            ein:
              type: object
              properties:
                number:
                  type: string
                  example: 12-3456789
          description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
        ownersProvided:
          type: boolean
        industryCodes:
          type: object
          properties:
            naics:
              type: string
              minLength: 2
              maxLength: 6
              example: '713940'
            sic:
              type: string
              minLength: 4
              maxLength: 4
              example: '7991'
            mcc:
              type: string
              minLength: 4
              maxLength: 4
              example: '7997'
        primaryRegulator:
          type: string
          enum:
            - OCC
            - FDIC
            - NCUA
            - FRB
            - state-cu-regulator
          description: If the business is a financial institution, this field describes its primary regulator.
    PatchIndividual:
      type: object
      properties:
        name:
          type: object
          properties:
            firstName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's first given name.
              example: Jordan
            middleName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's second given name, if any.
              example: Reese
            lastName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's family name.
              example: Lee
            suffix:
              type: string
              maxLength: 20
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: Suffix of a given name.
              example: Jr
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        birthDate:
          type: object
          properties:
            day:
              type: integer
              example: 9
            month:
              type: integer
              example: 11
            year:
              type: integer
              example: 1989
        governmentID:
          type: object
          properties:
            ssn:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
            itin:
              type: object
              properties:
                full:
                  type: string
                  pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                lastFour:
                  type: string
      description: Describes the fields available when patching an individual.
    PatchProfile:
      type: object
      properties:
        individual:
          type: object
          properties:
            name:
              type: object
              properties:
                firstName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's first given name.
                  example: Jordan
                middleName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's second given name, if any.
                  example: Reese
                lastName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's family name.
                  example: Lee
                suffix:
                  type: string
                  maxLength: 20
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: Suffix of a given name.
                  example: Jr
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            birthDate:
              type: object
              properties:
                day:
                  type: integer
                  example: 9
                month:
                  type: integer
                  example: 11
                year:
                  type: integer
                  example: 1989
            governmentID:
              type: object
              properties:
                ssn:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
                itin:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
          description: Describes the fields available when patching an individual.
        business:
          type: object
          properties:
            legalBusinessName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
            doingBusinessAs:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
            businessType:
              type: string
              enum:
                - soleProprietorship
                - unincorporatedAssociation
                - trust
                - publicCorporation
                - privateCorporation
                - llc
                - partnership
                - unincorporatedNonProfit
                - incorporatedNonProfit
                - governmentEntity
              description: The type of entity represented by this business.
              example: llc
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            website:
              type: string
              maxLength: 100
            description:
              type: string
              minLength: 10
              maxLength: 100
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
            taxID:
              type: object
              properties:
                ein:
                  type: object
                  properties:
                    number:
                      type: string
                      example: 12-3456789
              description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
            ownersProvided:
              type: boolean
            industryCodes:
              type: object
              properties:
                naics:
                  type: string
                  minLength: 2
                  maxLength: 6
                  example: '713940'
                sic:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7991'
                mcc:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7997'
            primaryRegulator:
              type: string
              enum:
                - OCC
                - FDIC
                - NCUA
                - FRB
                - state-cu-regulator
              description: If the business is a financial institution, this field describes its primary regulator.
      description: |-
        Describes the fields available when patching a profile.
        Each object can be patched independent of patching the other fields.
    PatchSweepConfig:
      type: object
      properties:
        status:
          allOf:
            - type: string
              enum:
                - enabled
                - disabled
          nullable: true
        pushPaymentMethodID:
          type: object
          allOf:
            - type: string
              format: uuid
              description: ID of the payment method.
          nullable: true
        pullPaymentMethodID:
          type: object
          allOf:
            - type: string
              format: uuid
              description: ID of the payment method.
          nullable: true
        statementDescriptor:
          type: object
          allOf:
            - type: string
              minLength: 4
              maxLength: 10
              description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
          nullable: true
        minimumBalance:
          type: string
          nullable: true
          pattern: ^\d+\.\d{1,2}$
    PatchSweepConfigError:
      type: object
      properties:
        status:
          type: string
        pushPaymentMethodID:
          type: string
        pullPaymentMethodID:
          type: string
        statementDescriptor:
          type: string
        minimumBalance:
          type: string
    PatchTransfer:
      type: object
      properties:
        metadata:
          type: object
          allOf:
            - type: object
              additionalProperties:
                type: string
              description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
              example:
                optional: metadata
          nullable: true
        foreignID:
          type: string
          description: Optional alias from a foreign/external system which can be used to reference this resource.
    PatchTransferValidationError:
      type: object
      properties:
        metadata:
          type: string
        foreignID:
          type: string
    PatchWallet:
      type: object
      properties:
        name:
          type: string
        status:
          type: string
          enum:
            - active
            - closed
          description: |-
            Status of a wallet.
              - `active`: The wallet is available for use and has an enabled payment method.
              - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
        description:
          type: string
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
      example:
        name: My second wallet
        description: My new description
        metadata:
          optional: metadata
    PatchWalletValidationError:
      type: object
      properties:
        name:
          type: string
        status:
          type: string
        description:
          type: string
        metadata:
          type: string
    PaymentDetailsError:
      type: object
      properties:
        allowedMethods:
          type: string
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
            originatingCompanyName:
              type: string
    PaymentLink:
      type: object
      required:
        - code
        - mode
        - status
        - partnerAccountID
        - merchantAccountID
        - merchantPaymentMethodID
        - link
        - amount
        - uses
        - display
        - customer
        - createdOn
        - updatedOn
      properties:
        code:
          type: string
          description: Unique code identifying this payment link.
          example: uc7ZYKrMhi
        mode:
          type: string
          enum:
            - sandbox
            - production
          description: The operating mode for an account.
          example: production
        status:
          type: string
          enum:
            - active
            - used
            - disabled
            - expired
        partnerAccountID:
          type: string
          format: uuid
          description: The partner's Moov account ID.
        merchantAccountID:
          type: string
          format: uuid
          description: The merchant's Moov account ID.
        merchantPaymentMethodID:
          type: string
          format: uuid
          description: The merchant's preferred payment method ID. Must be a wallet payment method.
        link:
          type: string
          format: uri
          description: Link to the payment landing page for this payment link.
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        uses:
          type: integer
          format: int64
          description: The number of times this payment link has been used.
        maxUses:
          type: integer
          format: int64
          description: |-
            An optional limit on the number of times this payment link can be used. 

            **For payouts, `maxUses` is always 1.**
        lastUsedOn:
          type: string
          format: date-time
          description: The timestamp when this payment link was last used.
        expiresOn:
          type: string
          format: date-time
          description: An optional expiration date for this payment link.
        display:
          type: object
          required:
            - title
            - description
            - callToAction
          properties:
            title:
              type: string
              description: The payment page title displayed to the user.
            description:
              type: string
              description: A payment description displayed to the user.
            callToAction:
              type: string
              enum:
                - pay
                - book
                - subscribe
                - donate
                - confirm
                - auto
              description: |-
                The text to be displayed on web form's submit button.

                If set to "auto" the UI will automatically select between 
                "pay" and "confirm" for payments and payouts respectively.
          description: Customizable display options for a payment link.
        customer:
          type: object
          properties:
            requireAddress:
              type: boolean
              description: If true, a billing address is required when completing the payment form.
            requirePhone:
              type: boolean
              description: If true, a phone number is required when completing the payment form.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Optional free-form metadata for the Moov account that will represent this customer.
        payment:
          type: object
          required:
            - allowedMethods
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - apple-pay
                  - card-payment
                  - ach-debit-collect
                description: Payment methods allowed for collecting a payment.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
              description: Options for payment links used to collect a card payment.
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
              description: Options for payment links used to collect an ACH payment.
          description: Options for payment links used to collect payment.
        payout:
          type: object
          required:
            - allowedMethods
            - recipient
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - push-to-card
                  - rtp-credit
                  - ach-credit-same-day
                  - ach-credit-standard
                description: Payment methods allowed for disbursing funds.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            recipient:
              type: object
              properties:
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
              description: |-
                Specify the intended recipient of the payout.
                Either `email` or `phone` must be specified, but not both.

                This information will be used to authenticate the end user when they follow the payment link.
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        disabledOn:
          type: string
          format: date-time
      example:
        code: 3QLHtONjd5
        mode: sandbox
        status: active
        partnerAccountID: d290f1ee-6c54-4b01-90e6-d701748f0851
        merchantAccountID: 34233b72-780c-4e0e-8b08-cbbe1bc878f8
        merchantPaymentMethodID: 4c4e7f8e-81f4-4f3d-8f6f-6f6e7f8e4c4e
        link: https://moov.money/3QLHtONjd5
        amount:
          currency: USD
          value: 10000
        uses: 0
        display:
          title: Example Payment Link
          description: This is an example payment link.
          callToAction: pay
        customer:
          requirePhone: true
        payment:
          allowedMethods:
            - card-payment
            - ach-debit-collect
        updatedOn: '2025-01-09T17:09:13.33Z'
        createdOn: '2025-01-09T17:09:13.33Z'
    PaymentLinkCode:
      type: string
      description: Unique code identifying this payment link.
      example: uc7ZYKrMhi
    PaymentLinkCustomerOptions:
      type: object
      properties:
        requireAddress:
          type: boolean
          description: If true, a billing address is required when completing the payment form.
        requirePhone:
          type: boolean
          description: If true, a phone number is required when completing the payment form.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Optional free-form metadata for the Moov account that will represent this customer.
    PaymentLinkDisplayOptions:
      type: object
      required:
        - title
        - description
        - callToAction
      properties:
        title:
          type: string
          description: The payment page title displayed to the user.
        description:
          type: string
          description: A payment description displayed to the user.
        callToAction:
          type: string
          enum:
            - pay
            - book
            - subscribe
            - donate
            - confirm
            - auto
          description: |-
            The text to be displayed on web form's submit button.

            If set to "auto" the UI will automatically select between 
            "pay" and "confirm" for payments and payouts respectively.
      description: Customizable display options for a payment link.
    PaymentLinkDisplayOptionsUpdate:
      type: object
      properties:
        title:
          type: string
          description: The payment page title displayed to the user.
        description:
          type: string
          description: A payment description displayed to the user.
        callToAction:
          type: string
          enum:
            - pay
            - book
            - subscribe
            - donate
            - confirm
            - auto
          description: |-
            The text to be displayed on web form's submit button.

            If set to "auto" the UI will automatically select between 
            "pay" and "confirm" for payments and payouts respectively.
      description: Customizable display options for a payment link.
    PaymentLinkPaymentDetails:
      type: object
      required:
        - allowedMethods
      properties:
        allowedMethods:
          type: array
          items:
            type: string
            enum:
              - apple-pay
              - card-payment
              - ach-debit-collect
            description: Payment methods allowed for collecting a payment.
          minItems: 1
          description: A list of payment methods that should be supported for this payment link.
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
          description: Options for payment links used to collect a card payment.
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
          description: Options for payment links used to collect an ACH payment.
      description: Options for payment links used to collect payment.
    PaymentLinkPaymentDetailsUpdate:
      type: object
      properties:
        allowedMethods:
          type: array
          items:
            type: string
            enum:
              - apple-pay
              - card-payment
              - ach-debit-collect
            description: Payment methods allowed for collecting a payment.
          minItems: 1
          description: A list of payment methods that should be supported for this payment link.
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
          description: Options for payment links used to collect a card payment.
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
          description: Options for payment links used to collect an ACH payment.
      description: Options for payment links used to collect payment.
    PaymentLinkPayoutDetails:
      type: object
      required:
        - allowedMethods
        - recipient
      properties:
        allowedMethods:
          type: array
          items:
            type: string
            enum:
              - push-to-card
              - rtp-credit
              - ach-credit-same-day
              - ach-credit-standard
            description: Payment methods allowed for disbursing funds.
          minItems: 1
          description: A list of payment methods that should be supported for this payment link.
        recipient:
          type: object
          properties:
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
          description: |-
            Specify the intended recipient of the payout.
            Either `email` or `phone` must be specified, but not both.

            This information will be used to authenticate the end user when they follow the payment link.
    PaymentLinkPayoutDetailsUpdate:
      type: object
      properties:
        allowedMethods:
          type: array
          items:
            type: string
            enum:
              - push-to-card
              - rtp-credit
              - ach-credit-same-day
              - ach-credit-standard
            description: Payment methods allowed for disbursing funds.
          minItems: 1
          description: A list of payment methods that should be supported for this payment link.
        recipient:
          type: object
          properties:
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
          description: |-
            Specify the intended recipient of the payout.
            Either `email` or `phone` must be specified, but not both.

            This information will be used to authenticate the end user when they follow the payment link.
    PaymentLinkStatus:
      type: string
      enum:
        - active
        - used
        - disabled
        - expired
    PaymentMethod:
      oneOf:
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - wallet
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - moov-wallet
            wallet:
              type: object
              required:
                - walletID
                - partnerAccountID
                - walletType
              properties:
                walletID:
                  type: string
                  format: uuid
                partnerAccountID:
                  type: string
                  format: uuid
                walletType:
                  type: string
                  enum:
                    - default
                    - general
                  description: |-
                    Type of a wallet.
                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                      - `general`: An additional, user-defined wallet created via API or Dashboard.
          title: Moov wallet
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - bankAccount
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - ach-debit-fund
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
          title: ACH debit fund
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - bankAccount
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - ach-debit-collect
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
          title: ACH debit collect
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - bankAccount
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - ach-credit-standard
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
          title: ACH credit standard
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - bankAccount
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - ach-credit-same-day
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
          title: ACH credit same day
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - bankAccount
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - rtp-credit
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
          title: RTP credit
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - card
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - card-payment
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
          title: Card payment
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - card
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - push-to-card
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
          title: Push to card
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - card
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - pull-from-card
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
          title: Pull from card
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - applePay
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - apple-pay
            applePay:
              type: object
              required:
                - brand
                - cardType
                - cardDisplayName
                - fingerprint
                - expiration
                - dynamicLastFour
              properties:
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                cardDisplayName:
                  type: string
                  description: |2-
                      User-friendly name of the tokenized card returned by Apple.
                      
                      It usually contains the brand and the last four digits of the underlying card.
                      There is no standard format.
                  example: Visa 1256
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                dynamicLastFour:
                  type: string
                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                issuerCountry:
                  type: string
                  description: Country where the underlying card was issued.
                  example: US
              description: Describes an Apple Pay token on a Moov account.
          title: Apple Pay
        - type: object
          required:
            - paymentMethodID
            - paymentMethodType
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            paymentMethodType:
              type: string
              enum:
                - card-present-payment
            terminalCard:
              type: object
              properties:
                entryMode:
                  type: string
                  enum:
                    - contactless
                  description: How the card information was entered into the point of sale terminal.
                  example: contactless
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                applicationID:
                  type: string
                  description: Identifier for the point of sale terminal application.
                applicationName:
                  type: string
                  description: Name label for the point of sale terminal application.
              description: Describes payment card details captured with tap or in-person payment.
              example:
                entryMode: contactless
                brand: Visa
                bin: '123456'
                cardType: credit
                expiration:
                  month: '01'
                  year: '21'
                fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName: Jules Jackson
                issuer: GRINGOTTS BANK
                issuerCountry: US
                lastFourCardNumber: '1234'
          description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
      discriminator:
        propertyName: paymentMethodType
        mapping:
          moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
          ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
          ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
          ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
          ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
          rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
          card-payment: '#/components/schemas/CardPaymentPaymentMethod'
          push-to-card: '#/components/schemas/PushToCardPaymentMethod'
          pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
          apple-pay: '#/components/schemas/ApplePayPaymentMethod'
          card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
      description: A method of moving money
    PaymentMethodID:
      type: string
      format: uuid
      description: ID of the payment method.
    PaymentMethodType:
      type: string
      enum:
        - moov-wallet
        - ach-debit-fund
        - ach-debit-collect
        - ach-credit-standard
        - ach-credit-same-day
        - rtp-credit
        - card-payment
        - push-to-card
        - pull-from-card
        - apple-pay
        - card-present-payment
      description: The payment method type that represents a payment rail and directionality
    PaymentMethodsBankAccount:
      type: object
      required:
        - bankAccountID
        - fingerprint
        - status
        - holderName
        - holderType
        - bankName
        - bankAccountType
        - routingNumber
        - lastFourAccountNumber
        - updatedOn
      properties:
        bankAccountID:
          type: string
          format: uuid
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Once the bank account is linked, we don't reveal the full bank account number.

            The fingerprint acts as a way to identify whether two linked bank accounts are the same.
        status:
          type: string
          enum:
            - new
            - verified
            - verificationFailed
            - pending
            - errored
        holderName:
          type: string
        holderType:
          type: string
          enum:
            - individual
            - business
            - guest
          description: The type of holder on a funding source.
        bankName:
          type: string
        bankAccountType:
          type: string
          enum:
            - checking
            - savings
            - general-ledger
            - loan
          description: The bank account type.
        routingNumber:
          type: string
        lastFourAccountNumber:
          type: string
        updatedOn:
          type: string
          format: date-time
      description: A bank account as contained within a payment method.
    PaymentMethodsCard:
      type: object
      required:
        - cardID
        - fingerprint
        - brand
        - cardType
        - lastFourCardNumber
        - bin
        - expiration
        - billingAddress
        - cardVerification
      properties:
        cardID:
          type: string
          format: uuid
          description: ID of the card.
          example: 01234567-89ab-cdef-0123-456789abcdef
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Uniquely identifies a linked payment card or token.
            For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
            This field can be used to identify specific payment methods across multiple accounts on your platform.
          example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        cardType:
          type: string
          enum:
            - debit
            - credit
            - prepaid
            - unknown
          description: The type of the card.
          example: credit
        lastFourCardNumber:
          type: string
          minLength: 4
          maxLength: 4
          description: Last four digits of the card number
        bin:
          type: string
          minLength: 6
          maxLength: 8
          description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        holderName:
          type: string
          description: The name of the cardholder as it appears on the card.
        billingAddress:
          type: object
          required:
            - postalCode
          properties:
            addressLine1:
              type: string
              maxLength: 60
            addressLine2:
              type: string
              maxLength: 32
            city:
              type: string
              maxLength: 32
            stateOrProvince:
              type: string
              maxLength: 2
            postalCode:
              type: string
              maxLength: 10
            country:
              type: string
              maxLength: 2
          example:
            addressLine1: 123 Main Street
            addressLine2: Apt 302
            city: Boulder
            stateOrProvince: CO
            postalCode: '80301'
            country: US
        cardVerification:
          type: object
          required:
            - cvv
            - addressLine1
            - postalCode
          properties:
            cvv:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            addressLine1:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            postalCode:
              type: string
              enum:
                - noMatch
                - match
                - notChecked
                - unavailable
                - partialMatch
              example: match
            accountName:
              type: object
              properties:
                firstName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                lastName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                middleName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                fullName:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
              description: The results of submitting cardholder name to a card network for verification.
              example:
                firstName: match
                lastName: match
                middleName: match
                fullName: match
          description: The results of submitting cardholder data to a card network for verification.
          example:
            cvv: match
            addressLine1: match
            postalCode: match
            accountName:
              firstName: match
              lastName: match
              middleName: match
              fullName: match
        issuer:
          type: string
          description: Financial institution that issued the card.
        issuerCountry:
          type: string
          description: Country where the card was issued.
        cardOnFile:
          type: boolean
          description: Indicates cardholder has authorized card to be stored for future payments.
        merchantAccountID:
          type: string
          format: uuid
        cardAccountUpdater:
          type: object
          properties:
            updatedOn:
              type: string
              format: date-time
            updateType:
              type: string
              enum:
                - unspecified
                - account-closed
                - contact-cardholder
                - expiration-update
                - no-change
                - no-match
                - number-update
              description: The results of the card update request.
              example: number-update
          description: The results of the most recent card update request.
          example:
            updatedOn: '2024-05-06T12:20:38.184Z'
            updateType: number-update
        domesticPushToCard:
          type: string
          enum:
            - not-supported
            - standard
            - fast-funds
            - unknown
          description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
          example: standard
        domesticPullFromCard:
          type: string
          enum:
            - not-supported
            - supported
            - unknown
          description: Indicates if the card supports domestic pull-from-card transfer.
          example: supported
      description: A card as contained within a payment method.
    PaymentMethodsWallet:
      type: object
      required:
        - walletID
        - partnerAccountID
        - walletType
      properties:
        walletID:
          type: string
          format: uuid
        partnerAccountID:
          type: string
          format: uuid
        walletType:
          type: string
          enum:
            - default
            - general
          description: |-
            Type of a wallet.
              - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
              - `general`: An additional, user-defined wallet created via API or Dashboard.
    PayoutDetailsError:
      type: object
      properties:
        allowedMethods:
          type: string
        recipient:
          type: object
          properties:
            email:
              type: string
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
    PayoutRecipient:
      type: object
      properties:
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
      description: |-
        Specify the intended recipient of the payout.
        Either `email` or `phone` must be specified, but not both.

        This information will be used to authenticate the end user when they follow the payment link.
    PayoutRecipientError:
      type: object
      properties:
        email:
          type: string
        phone:
          type: object
          properties:
            number:
              type: string
            countryCode:
              type: string
    PendingLitigation:
      type: string
      enum:
        - bankruptcy-or-insolvency
        - consumer-protection-or-class-action
        - data-breach-or-privacy
        - employment-or-workplace-disputes
        - fraud-or-financial-crime
        - government-enforcement-or-investigation
        - intellectual-property
        - none
        - other
        - personal-injury-or-medical
    PhoneNumber:
      type: object
      properties:
        number:
          type: string
          maxLength: 10
          example: '8185551212'
        countryCode:
          type: string
          maxLength: 1
          example: '1'
    PhoneNumberError:
      type: object
      properties:
        number:
          type: string
        countryCode:
          type: string
    PlaidIntegration:
      type: object
      required:
        - token
      properties:
        token:
          type: string
      description: |-
        The details of a Plaid processor integration for a linked funding source. 

        `sandbox` - When linking a bank account to a `sandbox` account using a Plaid processor token a default bank account
        response will be used. The following default data will be used to generate the bank account in this flow:

        ```
          RoutingNumber: "011401533",
          AccountNumber: "1111222233330000",
          AccountType:   "checking",
          Mask:          "0000"
        ```
    PlaidLinkIntegration:
      type: object
      required:
        - publicToken
      properties:
        publicToken:
          type: string
      description: |-
        This is used by Moov.js with a Plaid reseller relationship. The details of a Plaid link integration for a linked funding source.

        You can simulate linking bank accounts with Plaid in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#plaid)
        guide for more information.

        Plaid's `sandbox` environment - (requires Plaid reseller setup with Moov). When linking a bank account to a `sandbox` account using a Plaid 
        public token it will utilize Plaid's sandbox environment. The Plaid public token provided must be generated from Plaid's sandbox environment. 
        Please see <a href="https://plaid.com/docs/api/sandbox/#sandboxpublic_tokencreate" target="_blank">Plaid's sandbox documentation</a> for more 
        details.
    PlaidLinkPayload:
      type: object
      required:
        - plaidLink
      properties:
        plaidLink:
          type: object
          required:
            - publicToken
          properties:
            publicToken:
              type: string
          description: |-
            This is used by Moov.js with a Plaid reseller relationship. The details of a Plaid link integration for a linked funding source.

            You can simulate linking bank accounts with Plaid in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#plaid)
            guide for more information.

            Plaid's `sandbox` environment - (requires Plaid reseller setup with Moov). When linking a bank account to a `sandbox` account using a Plaid 
            public token it will utilize Plaid's sandbox environment. The Plaid public token provided must be generated from Plaid's sandbox environment. 
            Please see <a href="https://plaid.com/docs/api/sandbox/#sandboxpublic_tokencreate" target="_blank">Plaid's sandbox documentation</a> for more 
            details.
      description: |-
        This is used by Moov.js with a Plaid reseller relationship. 

        Describes the account to link to the Moov account using a Plaid using a Plaid public token.
      title: Plaid Link
    PlaidPayload:
      type: object
      required:
        - plaid
      properties:
        plaid:
          type: object
          required:
            - token
          properties:
            token:
              type: string
          description: |-
            The details of a Plaid processor integration for a linked funding source. 

            `sandbox` - When linking a bank account to a `sandbox` account using a Plaid processor token a default bank account
            response will be used. The following default data will be used to generate the bank account in this flow:

            ```
              RoutingNumber: "011401533",
              AccountNumber: "1111222233330000",
              AccountType:   "checking",
              Mask:          "0000"
            ```
      description: Describes the account to link to the Moov account using a Plaid processor token.
      title: Plaid
    PlatformFees:
      type: object
      required:
        - walletFee
        - merchantPCIFee
        - total
      properties:
        walletFee:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Fees associated with wallet services.
        merchantPCIFee:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Fees for PCI compliance.
        total:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: Total platform fees.
      description: A detailed breakdown of platform fees.
    PrimaryRegulator:
      type: string
      enum:
        - OCC
        - FDIC
        - NCUA
        - FRB
        - state-cu-regulator
      description: If the business is a financial institution, this field describes its primary regulator.
    Profile:
      type: object
      properties:
        individual:
          type: object
          required:
            - name
          properties:
            name:
              type: object
              required:
                - firstName
                - lastName
              properties:
                firstName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's first given name.
                  example: Jordan
                middleName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's second given name, if any.
                  example: Reese
                lastName:
                  type: string
                  maxLength: 64
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: The individual's family name.
                  example: Lee
                suffix:
                  type: string
                  maxLength: 20
                  pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                  description: Suffix of a given name.
                  example: Jr
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            birthDateProvided:
              type: boolean
              description: Indicates whether this individual's birth date has been provided.
            governmentIDProvided:
              type: boolean
              description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this individual.
          description: Describes an individual.
        business:
          type: object
          required:
            - legalBusinessName
            - ownersProvided
          properties:
            legalBusinessName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
              description: The legal name under which the entity is registered.
              example: Classbooker, LLC
            doingBusinessAs:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!+-]*'
              description: A registered trade name under which the business operates, if different from its legal name.
            businessType:
              type: string
              enum:
                - soleProprietorship
                - unincorporatedAssociation
                - trust
                - publicCorporation
                - privateCorporation
                - llc
                - partnership
                - unincorporatedNonProfit
                - incorporatedNonProfit
                - governmentEntity
              description: The type of entity represented by this business.
              example: llc
            address:
              type: object
              required:
                - addressLine1
                - city
                - stateOrProvince
                - postalCode
                - country
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
            website:
              type: string
              format: uri
              maxLength: 100
            description:
              type: string
              minLength: 10
              maxLength: 100
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Local fitness gym paying out instructors
            taxIDProvided:
              type: boolean
              description: Indicates whether a tax ID has been provided for this business.
            representatives:
              type: array
              items:
                type: object
                required:
                  - representativeID
                  - name
                  - createdOn
                  - updatedOn
                properties:
                  representativeID:
                    type: string
                    format: uuid
                    description: Unique identifier for this representative.
                  name:
                    type: object
                    required:
                      - firstName
                      - lastName
                    properties:
                      firstName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's first given name.
                        example: Jordan
                      middleName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's second given name, if any.
                        example: Reese
                      lastName:
                        type: string
                        maxLength: 64
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: The individual's family name.
                        example: Lee
                      suffix:
                        type: string
                        maxLength: 20
                        pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
                        description: Suffix of a given name.
                        example: Jr
                  phone:
                    type: object
                    properties:
                      number:
                        type: string
                        maxLength: 10
                        example: '8185551212'
                      countryCode:
                        type: string
                        maxLength: 1
                        example: '1'
                  email:
                    type: string
                    maxLength: 255
                    format: email
                    example: jordan.lee@classbooker.dev
                  address:
                    type: object
                    required:
                      - addressLine1
                      - city
                      - stateOrProvince
                      - postalCode
                      - country
                    properties:
                      addressLine1:
                        type: string
                        maxLength: 60
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: 123 Main Street
                      addressLine2:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Apt 302
                      city:
                        type: string
                        maxLength: 32
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: Boulder
                      stateOrProvince:
                        type: string
                        maxLength: 2
                        example: CO
                      postalCode:
                        type: string
                        maxLength: 5
                        example: '80301'
                      country:
                        type: string
                        maxLength: 2
                        example: US
                  birthDateProvided:
                    type: boolean
                    description: Indicates whether this representative's birth date has been provided.
                  governmentIDProvided:
                    type: boolean
                    description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
                  responsibilities:
                    type: object
                    properties:
                      isController:
                        type: boolean
                        description: Indicates whether this individual has significant management responsibilities within the business.
                      isOwner:
                        type: boolean
                        description: |-
                          If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                          business. If the representative does not own at least 25% of the business, this field should be `false`.
                      ownershipPercentage:
                        type: integer
                        description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                        example: 38
                      jobTitle:
                        type: string
                        maxLength: 64
                        pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                        example: CEO
                    description: Describes the job responsibilities of a business representative.
                  createdOn:
                    type: string
                    format: date-time
                  updatedOn:
                    type: string
                    format: date-time
                  disabledOn:
                    type: string
                    format: date-time
                description: Describes a business representative.
            ownersProvided:
              type: boolean
            industryCodes:
              type: object
              properties:
                naics:
                  type: string
                  minLength: 2
                  maxLength: 6
                  example: '713940'
                sic:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7991'
                mcc:
                  type: string
                  minLength: 4
                  maxLength: 4
                  example: '7997'
            primaryRegulator:
              type: string
              enum:
                - OCC
                - FDIC
                - NCUA
                - FRB
                - state-cu-regulator
              description: If the business is a financial institution, this field describes its primary regulator.
          description: Describes a business.
        guest:
          type: object
          required:
            - name
          properties:
            name:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: |-
                The name associated with the guest account.
                This will default to "Guest {accountIDfirst8}" if no other name is provided.
              example: Guest 75e5fbb8
            phone:
              type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
            email:
              type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
          description: Describes a guest account profile.
      description: Describes a Moov account profile. A profile will have a business, individual, or guest depending on the account's type.
    PullFromCardPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - card
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - pull-from-card
        card:
          type: object
          required:
            - cardID
            - fingerprint
            - brand
            - cardType
            - lastFourCardNumber
            - bin
            - expiration
            - billingAddress
            - cardVerification
          properties:
            cardID:
              type: string
              format: uuid
              description: ID of the card.
              example: 01234567-89ab-cdef-0123-456789abcdef
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            bin:
              type: string
              minLength: 6
              maxLength: 8
              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            billingAddress:
              type: object
              required:
                - postalCode
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                addressLine2:
                  type: string
                  maxLength: 32
                city:
                  type: string
                  maxLength: 32
                stateOrProvince:
                  type: string
                  maxLength: 2
                postalCode:
                  type: string
                  maxLength: 10
                country:
                  type: string
                  maxLength: 2
              example:
                addressLine1: 123 Main Street
                addressLine2: Apt 302
                city: Boulder
                stateOrProvince: CO
                postalCode: '80301'
                country: US
            cardVerification:
              type: object
              required:
                - cvv
                - addressLine1
                - postalCode
              properties:
                cvv:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                addressLine1:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                postalCode:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                accountName:
                  type: object
                  properties:
                    firstName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    lastName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    middleName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    fullName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                  description: The results of submitting cardholder name to a card network for verification.
                  example:
                    firstName: match
                    lastName: match
                    middleName: match
                    fullName: match
              description: The results of submitting cardholder data to a card network for verification.
              example:
                cvv: match
                addressLine1: match
                postalCode: match
                accountName:
                  firstName: match
                  lastName: match
                  middleName: match
                  fullName: match
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            cardOnFile:
              type: boolean
              description: Indicates cardholder has authorized card to be stored for future payments.
            merchantAccountID:
              type: string
              format: uuid
            cardAccountUpdater:
              type: object
              properties:
                updatedOn:
                  type: string
                  format: date-time
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
              description: The results of the most recent card update request.
              example:
                updatedOn: '2024-05-06T12:20:38.184Z'
                updateType: number-update
            domesticPushToCard:
              type: string
              enum:
                - not-supported
                - standard
                - fast-funds
                - unknown
              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
              example: standard
            domesticPullFromCard:
              type: string
              enum:
                - not-supported
                - supported
                - unknown
              description: Indicates if the card supports domestic pull-from-card transfer.
              example: supported
          description: A card as contained within a payment method.
      title: Pull from card
    PushToCardPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - card
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - push-to-card
        card:
          type: object
          required:
            - cardID
            - fingerprint
            - brand
            - cardType
            - lastFourCardNumber
            - bin
            - expiration
            - billingAddress
            - cardVerification
          properties:
            cardID:
              type: string
              format: uuid
              description: ID of the card.
              example: 01234567-89ab-cdef-0123-456789abcdef
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            bin:
              type: string
              minLength: 6
              maxLength: 8
              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            billingAddress:
              type: object
              required:
                - postalCode
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                addressLine2:
                  type: string
                  maxLength: 32
                city:
                  type: string
                  maxLength: 32
                stateOrProvince:
                  type: string
                  maxLength: 2
                postalCode:
                  type: string
                  maxLength: 10
                country:
                  type: string
                  maxLength: 2
              example:
                addressLine1: 123 Main Street
                addressLine2: Apt 302
                city: Boulder
                stateOrProvince: CO
                postalCode: '80301'
                country: US
            cardVerification:
              type: object
              required:
                - cvv
                - addressLine1
                - postalCode
              properties:
                cvv:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                addressLine1:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                postalCode:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                accountName:
                  type: object
                  properties:
                    firstName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    lastName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    middleName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    fullName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                  description: The results of submitting cardholder name to a card network for verification.
                  example:
                    firstName: match
                    lastName: match
                    middleName: match
                    fullName: match
              description: The results of submitting cardholder data to a card network for verification.
              example:
                cvv: match
                addressLine1: match
                postalCode: match
                accountName:
                  firstName: match
                  lastName: match
                  middleName: match
                  fullName: match
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            cardOnFile:
              type: boolean
              description: Indicates cardholder has authorized card to be stored for future payments.
            merchantAccountID:
              type: string
              format: uuid
            cardAccountUpdater:
              type: object
              properties:
                updatedOn:
                  type: string
                  format: date-time
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
              description: The results of the most recent card update request.
              example:
                updatedOn: '2024-05-06T12:20:38.184Z'
                updateType: number-update
            domesticPushToCard:
              type: string
              enum:
                - not-supported
                - standard
                - fast-funds
                - unknown
              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
              example: standard
            domesticPullFromCard:
              type: string
              enum:
                - not-supported
                - supported
                - unknown
              description: Indicates if the card supports domestic pull-from-card transfer.
              example: supported
          description: A card as contained within a payment method.
      title: Push to card
    QRCode:
      type: object
      required:
        - qrCode
      properties:
        qrCode:
          type: string
          description: A base64-encoded PNG image of the QR code.
          example: iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAIAAADaA7F0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA...
    RTPFailureCode:
      type: string
      enum:
        - processing-error
        - invalid-account
        - account-closed
        - account-blocked
        - invalid-field
        - transaction-not-supported
        - limit-exceeded
        - invalid-amount
        - customer-deceased
        - other
      description: Status codes for RTP failures.
    RTPInstitution:
      type: object
      required:
        - name
        - routingNumber
        - services
      properties:
        name:
          type: string
          description: Name of the financial institution.
          example: First Citizens
        routingNumber:
          type: string
          maxLength: 9
          example: '123456789'
        services:
          type: object
          required:
            - receivePayments
            - receiveRequestForPayment
          properties:
            receivePayments:
              type: boolean
              description: Can the institution receive payments
              example: true
            receiveRequestForPayment:
              type: boolean
              description: Can the institution receive request for payment messages
              example: true
    RTPRejectionCode:
      type: string
      enum:
        - AC03
        - AC04
        - AC06
        - AC14
        - AG01
        - AG03
        - MD07
      description: |-
        The rejection code of an RTP transaction that caused the bank account status to change.

        - AC03: Account Invalid
        - AC04: Account Closed
        - AC06: Account Blocked
        - AC14: Creditor Account Type Invalid
        - AG01: Transactions Forbidden On Account
        - AG03: Transaction Type Not Supported
        - MD07: Customer Deceased
    RTPServices:
      type: object
      required:
        - receivePayments
        - receiveRequestForPayment
      properties:
        receivePayments:
          type: boolean
          description: Can the institution receive payments
          example: true
        receiveRequestForPayment:
          type: boolean
          description: Can the institution receive request for payment messages
          example: true
    RTPTransactionDetails:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - initiated
            - completed
            - failed
            - accepted-without-posting
          description: Status of a transaction within the RTP lifecycle.
        networkResponseCode:
          type: string
          description: Response code returned by network on failure.
        failureCode:
          type: string
          enum:
            - processing-error
            - invalid-account
            - account-closed
            - account-blocked
            - invalid-field
            - transaction-not-supported
            - limit-exceeded
            - invalid-amount
            - customer-deceased
            - other
          description: Status codes for RTP failures.
        initiatedOn:
          type: string
          format: date-time
        completedOn:
          type: string
          format: date-time
        failedOn:
          type: string
          format: date-time
        acceptedWithoutPostingOn:
          type: string
          format: date-time
      description: RTP specific details about the transaction.
    RTPTransactionStatus:
      type: string
      enum:
        - initiated
        - completed
        - failed
        - accepted-without-posting
      description: Status of a transaction within the RTP lifecycle.
    ReceiptKind:
      type: string
      enum:
        - sale.customer.v1
      description: The type of receipt being requested.
    ReceiptRequest:
      type: object
      required:
        - kind
      properties:
        kind:
          allOf:
            - type: string
              enum:
                - sale.customer.v1
              description: The type of receipt being requested.
          example: sale.customer.v1
        email:
          allOf:
            - type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
          description: |-
            The email address to send the receipt to.
            Either email or emailAccountID must be provided, but not both.
        emailAccountID:
          type: string
          format: uuid
          description: |-
            The accountID to send the receipt to.
            Either email or emailAccountID must be provided, but not both.
        forTransferID:
          type: string
          format: uuid
          description: |-
            The ID of the transfer associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
        forScheduleID:
          type: string
          format: uuid
          description: |-
            The ID of the schedule associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
        forOccurrenceID:
          type: string
          format: uuid
          description: |-
            The ID of the schedule occurrence associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
      description: A receipt request for a specific transfer, schedule, or schedule occurrence.
    ReceiptResponse:
      type: object
      required:
        - receiptID
        - createdBy
        - kind
      properties:
        receiptID:
          type: string
          format: uuid
          description: Unique identifier for the receipt request.
        createdBy:
          type: string
          format: uuid
          description: AccountID for which the receipt request was created.
        disabledOn:
          type: string
          format: date-time
          description: The date and time the receipt was disabled.
          example: 2025-11-10T23:00:000Z
        kind:
          allOf:
            - type: string
              enum:
                - sale.customer.v1
              description: The type of receipt being requested.
          description: The type of receipt.
        email:
          allOf:
            - type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
          description: |-
            The email address the receipt is sent to.
            Either email or emailAccountID will be in the response, but not both.
        emailAccountID:
          type: string
          format: uuid
          description: |-
            The accountID the receipt is sent to.
            Either email or emailAccountID will be in the response, but not both.
        forTransferID:
          type: string
          format: uuid
          description: |-
            The ID of the transfer associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
        forScheduleID:
          type: string
          format: uuid
          description: |-
            The ID of the schedule associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
        forOccurrenceID:
          type: string
          format: uuid
          description: |-
            The ID of the schedule occurrence associated with this receipt.
            Exactly one of forTransferID, forScheduleID, or forOccurrenceID must be provided.
        sentFor:
          type: array
          items:
            type: object
            required:
              - receiptID
              - idempotencyKey
              - sentOn
            properties:
              receiptID:
                type: string
                format: uuid
                description: Unique identifier for the receipt.
              idempotencyKey:
                type: string
                format: uuid
                description: The idempotency key used when creating the receipt.
              sentOn:
                type: string
                format: date-time
                description: When the receipt was sent.
                example: 2025-11-10T23:00:000Z
          description: The list of receipts that have been sent.
      example:
        createdBy: 25a02396-1048-48f9-bf93-102d2fb7895e
        receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
        forTransferID: 193ceb53-94c7-41c4-9272-c90c2832cb4c
        kind: sale.customer.v1
        email: jordan.lee@classbooker.dev
        sentFor:
          - idempotencyKey: 0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1
            receiptID: 4925c8a5-3b9a-4488-a514-9fd992546aca
            sentOn: '2025-01-16T17:52:14.219311143Z'
    ReceiptValidationError:
      type: object
      properties:
        kind:
          type: string
        email:
          type: string
        emailAccountID:
          type: string
        forTransferID:
          type: string
        forScheduleID:
          type: string
        forOccurrenceID:
          type: string
    ReceiptValidationErrorResponse:
      type: object
      additionalProperties:
        type: object
        properties:
          kind:
            type: string
          email:
            type: string
          emailAccountID:
            type: string
          forTransferID:
            type: string
          forScheduleID:
            type: string
          forOccurrenceID:
            type: string
      example:
        '0':
          kind: cannot be blank
    Recur:
      type: object
      required:
        - recurrenceRule
        - runTransfer
      properties:
        recurrenceRule:
          type: string
          description: |2-
              RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
              Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
        runTransfer:
          type: object
          required:
            - amount
            - destination
            - partnerAccountID
            - source
            - description
          properties:
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
            destination:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            partnerAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            source:
              type: object
              required:
                - paymentMethodID
              properties:
                paymentMethodID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                achDetails:
                  type: object
                  properties:
                    companyEntryDescription:
                      type: string
                      minLength: 4
                      maxLength: 10
                      description: An optional override of the default NACHA company entry description for a transfer.
                      example: Gym dues
                    originatingCompanyName:
                      type: string
                      minLength: 4
                      maxLength: 16
                      description: An optional override of the default NACHA company name for a transfer.
                      example: Whole Body Fit
                cardDetails:
                  type: object
                  properties:
                    dynamicDescriptor:
                      type: string
                      minLength: 4
                      maxLength: 22
                      description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                      example: WhlBdy *Yoga 11-12
            description:
              type: string
              description: Simple description to place on the transfer.
          description: Defines the attributes of a transfer.
        indefinite:
          type: boolean
          description: True if the RRule set runs indefinitely.
        start:
          type: string
          format: date-time
          example: '2009-11-10T23:00:00Z'
      description: Defines configuration for recurring transfers.
    RefreshToken:
      type: string
      maxLength: 4096
      description: A value passed to the authorization server to obtain a new access token.
      example: eyJhbGc0eSI6TQSIsImN0kpXVCIsImtp6IkpXVsImtpZC0a...
    RefundCardDetails:
      type: object
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - initiated
            - confirmed
            - settled
            - failed
            - completed
        failureCode:
          type: string
          enum:
            - call-issuer
            - do-not-honor
            - processing-error
            - invalid-transaction
            - invalid-amount
            - no-such-issuer
            - reenter-transaction
            - cvv-mismatch
            - lost-or-stolen
            - insufficient-funds
            - invalid-card-number
            - invalid-merchant
            - expired-card
            - incorrect-pin
            - transaction-not-allowed
            - suspected-fraud
            - amount-limit-exceeded
            - velocity-limit-exceeded
            - revocation-of-authorization
            - card-not-activated
            - issuer-not-available
            - could-not-route
            - cardholder-account-closed
            - unknown-issue
            - duplicate-transaction
        initiatedOn:
          type: string
          format: date-time
        confirmedOn:
          type: string
          format: date-time
        settledOn:
          type: string
          format: date-time
        failedOn:
          type: string
          format: date-time
        completedOn:
          type: string
          format: date-time
    RefundCardStatus:
      type: string
      enum:
        - initiated
        - confirmed
        - settled
        - failed
        - completed
    RefundPolicy:
      type: string
      enum:
        - conditional-refund
        - custom-policy
        - event-based-policy
        - full-refund-extended-window
        - full-refund-within-30-days
        - no-refunds
        - partial-refund
        - prorated-refund
        - store-credit-only
    RefundStatus:
      type: string
      enum:
        - created
        - pending
        - completed
        - failed
    RefundValidationError:
      type: object
      properties:
        amount:
          type: string
        error:
          type: string
          description: Used for generic errors when invalid request data isn't attributed to a single request field.
    RegisterApplePayMerchantDomains:
      type: object
      properties:
        displayName:
          type: string
          maxLength: 64
          description: A UTF-8 string to display in the Buy button.
        domains:
          type: array
          items:
            type: string
          description: A unique list of fully-qualified, top-level or sub-domain names where you will accept Apple Pay.
          example:
            - checkout.classbooker.dev
    Representative:
      type: object
      required:
        - representativeID
        - name
        - createdOn
        - updatedOn
      properties:
        representativeID:
          type: string
          format: uuid
          description: Unique identifier for this representative.
        name:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's first given name.
              example: Jordan
            middleName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's second given name, if any.
              example: Reese
            lastName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's family name.
              example: Lee
            suffix:
              type: string
              maxLength: 20
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: Suffix of a given name.
              example: Jr
        phone:
          type: object
          properties:
            number:
              type: string
              maxLength: 10
              example: '8185551212'
            countryCode:
              type: string
              maxLength: 1
              example: '1'
        email:
          type: string
          maxLength: 255
          format: email
          example: jordan.lee@classbooker.dev
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        birthDateProvided:
          type: boolean
          description: Indicates whether this representative's birth date has been provided.
        governmentIDProvided:
          type: boolean
          description: Indicates whether a government ID (SSN, ITIN, etc.) has been provided for this representative.
        responsibilities:
          type: object
          properties:
            isController:
              type: boolean
              description: Indicates whether this individual has significant management responsibilities within the business.
            isOwner:
              type: boolean
              description: |-
                If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                business. If the representative does not own at least 25% of the business, this field should be `false`.
            ownershipPercentage:
              type: integer
              description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
              example: 38
            jobTitle:
              type: string
              maxLength: 64
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: CEO
          description: Describes the job responsibilities of a business representative.
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        disabledOn:
          type: string
          format: date-time
      description: Describes a business representative.
    RepresentativeResponsibilities:
      type: object
      properties:
        isController:
          type: boolean
          description: Indicates whether this individual has significant management responsibilities within the business.
        isOwner:
          type: boolean
          description: |-
            If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
            business. If the representative does not own at least 25% of the business, this field should be `false`.
        ownershipPercentage:
          type: integer
          description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
          example: 38
        jobTitle:
          type: string
          maxLength: 64
          pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
          example: CEO
      description: Describes the job responsibilities of a business representative.
    RepresentativeResponsibilitiesError:
      type: object
      properties:
        isController:
          type: string
        isOwner:
          type: string
        ownershipPercentage:
          type: string
        jobTitle:
          type: string
    RepresentativeValidationError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          properties:
            name:
              type: object
              properties:
                firstName:
                  type: string
                middleName:
                  type: string
                lastName:
                  type: string
                suffix:
                  type: string
            phone:
              type: object
              properties:
                number:
                  type: string
                countryCode:
                  type: string
            email:
              type: string
            address:
              type: object
              properties:
                addressLine1:
                  type: string
                addressLine2:
                  type: string
                city:
                  type: string
                stateOrProvince:
                  type: string
                postalCode:
                  type: string
                country:
                  type: string
            birthDate:
              type: object
              properties:
                day:
                  type: string
                month:
                  type: string
                year:
                  type: string
            governmentID:
              type: object
              properties:
                ssn:
                  type: object
                  properties:
                    full:
                      type: string
                    lastFour:
                      type: string
                itin:
                  type: object
                  properties:
                    full:
                      type: string
                    lastFour:
                      type: string
            responsibilities:
              type: object
              properties:
                isController:
                  type: string
                isOwner:
                  type: string
                ownershipPercentage:
                  type: string
                jobTitle:
                  type: string
    RequestCard:
      type: object
      required:
        - fundingWalletID
        - authorizedUser
        - formFactor
      properties:
        fundingWalletID:
          type: string
          format: uuid
        authorizedUser:
          type: object
          required:
            - firstName
            - lastName
          properties:
            firstName:
              type: string
            lastName:
              type: string
            birthDate:
              type: object
              required:
                - day
                - month
                - year
              properties:
                day:
                  type: integer
                  example: 9
                month:
                  type: integer
                  example: 11
                year:
                  type: integer
                  example: 1989
          description: Fields for identifying an authorized individual.
        formFactor:
          type: string
          enum:
            - virtual
          description: Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
        memo:
          type: string
          description: An optional descriptive name for the card.
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        controls:
          type: object
          properties:
            singleUse:
              type: boolean
              description: Indicates if the card is single-use. If true, the card closes after the first authorization.
            velocityLimits:
              type: array
              items:
                type: object
                required:
                  - amount
                  - interval
                properties:
                  amount:
                    type: integer
                    format: int64
                    description: The maximum amount in cents that can be spent in a given interval.
                    example: 10000
                  interval:
                    type: string
                    enum:
                      - per-transaction
                    description: Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
              description: Sets the spending limit per time interval. Only one limit per interval is supported.
    RequestCardError:
      type: object
      properties:
        fundingWalletID:
          type: string
        formFactor:
          type: string
        authorizedUser:
          type: object
          properties:
            firstName:
              type: string
            lastName:
              type: string
            birthDate:
              type: object
              properties:
                day:
                  type: string
                month:
                  type: string
                year:
                  type: string
        memo:
          type: string
        expiration:
          type: object
          properties:
            month:
              type: string
            year:
              type: string
        controls:
          type: object
          properties:
            velocityLimits:
              type: object
              additionalProperties:
                type: object
                properties:
                  amount:
                    type: string
                  interval:
                    type: string
          example:
            velocityLimits:
              '0':
                amount: must be no less than 1
                interval: must be a valid value
    RequestIDHeader:
      type: object
    RequirementError:
      type: object
      required:
        - requirement
      properties:
        requirement:
          type: string
          enum:
            - account.tos-acceptance
            - individual.mobile
            - individual.email
            - individual.email-or-mobile
            - individual.firstname
            - individual.lastname
            - individual.address
            - individual.ssn-last4
            - individual.ssn
            - individual.birthdate
            - business.legalname
            - business.description-or-website
            - business.entity-type
            - business.business-type
            - business.dba
            - business.ein
            - business.address
            - business.phone
            - business.admins
            - business.controllers
            - business.owners
            - business.classification
            - business.industry-code-mcc
            - business.indicate-owners-provided
            - business.average-transaction-size
            - business.max-transaction-size
            - business.average-monthly-transaction-volume
            - business.volume-by-customer-type
            - business.card-volume-distribution
            - business.fulfillment
            - business.description
            - business.underwriting-documents-tier-one
            - bank-accounts.name
            - bank-accounts.routing-number
            - bank-accounts.account-number
            - document.business.verification
            - document.individual.tin
            - document.individual.verification
            - document.representative.{rep-uuid}.tin
            - document.representative.{rep-uuid}.verification
            - representative.{rep-uuid}.mobile
            - representative.{rep-uuid}.email
            - representative.{rep-uuid}.email-or-mobile
            - representative.{rep-uuid}.firstname
            - representative.{rep-uuid}.lastname
            - representative.{rep-uuid}.address
            - representative.{rep-uuid}.ssn-last4
            - representative.{rep-uuid}.ssn
            - representative.{rep-uuid}.birthdate
            - representative.{rep-uuid}.job-title
            - representative.{rep-uuid}.is-controller
            - representative.{rep-uuid}.is-owner
            - representative.{rep-uuid}.ownership
            - document.{doc-uuid}
            - underwriting.businessPresence
            - underwriting.geographicReach
            - underwriting.volumeShareByCustomerType
            - underwriting.pendingLitigation
            - underwriting.documents.processingStatementsPast3Months
            - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
            - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
            - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
            - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
            - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
            - underwriting.collectFunds.cardPayments.fulfillment
            - underwriting.collectFunds.cardPayments.refundPolicy
            - underwriting.collectFunds.ach.cardAcceptanceMethods
            - underwriting.collectFunds.ach.currentlyAcceptsCards
            - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
            - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
            - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
            - underwriting.collectFunds.ach.fulfillment
            - underwriting.collectFunds.ach.refundPolicy
            - underwriting.sendFunds.ach.cardAcceptanceMethods
            - underwriting.sendFunds.ach.currentlyAcceptsCards
            - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
            - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
            - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
            - underwriting.sendFunds.ach.fulfillment
            - underwriting.sendFunds.ach.refundPolicy
            - underwriting.sendFunds.rtp.cardAcceptanceMethods
            - underwriting.sendFunds.rtp.currentlyAcceptsCards
            - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
            - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
            - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
            - underwriting.sendFunds.rtp.fulfillment
            - underwriting.sendFunds.rtp.refundPolicy
            - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
            - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
            - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
            - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
            - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
            - underwriting.sendFunds.pushToCard.fulfillment
            - underwriting.sendFunds.pushToCard.refundPolicy
            - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
            - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
            - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
            - underwriting.moneyTransfer.pullFromCard.fulfillment
            - underwriting.moneyTransfer.pullFromCard.refundPolicy
            - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
            - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
            - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
            - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
            - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
            - underwriting.moneyTransfer.pushToCard.fulfillment
            - underwriting.moneyTransfer.pushToCard.refundPolicy
          description: The unique ID of what the requirement is asking to be filled out.
        errorCode:
          type: string
          enum:
            - invalid-value
            - failed-automatic-verification
            - failed-other
            - invalid-address
            - address-restricted
            - tax-id-mismatch
            - document-id-mismatch
            - document-date-of-birth-mismatch
            - document-name-mismatch
            - document-address.mismatch
            - document-number-mismatch
            - document-incomplete
            - document-failed-risk
            - document-illegible
            - document-unsupported
            - document-not-uploaded
            - document-corrupt
            - document-expired
    RequirementErrorCode:
      type: string
      enum:
        - invalid-value
        - failed-automatic-verification
        - failed-other
        - invalid-address
        - address-restricted
        - tax-id-mismatch
        - document-id-mismatch
        - document-date-of-birth-mismatch
        - document-name-mismatch
        - document-address.mismatch
        - document-number-mismatch
        - document-incomplete
        - document-failed-risk
        - document-illegible
        - document-unsupported
        - document-not-uploaded
        - document-corrupt
        - document-expired
    RequirementID:
      type: string
      enum:
        - account.tos-acceptance
        - individual.mobile
        - individual.email
        - individual.email-or-mobile
        - individual.firstname
        - individual.lastname
        - individual.address
        - individual.ssn-last4
        - individual.ssn
        - individual.birthdate
        - business.legalname
        - business.description-or-website
        - business.entity-type
        - business.business-type
        - business.dba
        - business.ein
        - business.address
        - business.phone
        - business.admins
        - business.controllers
        - business.owners
        - business.classification
        - business.industry-code-mcc
        - business.indicate-owners-provided
        - business.average-transaction-size
        - business.max-transaction-size
        - business.average-monthly-transaction-volume
        - business.volume-by-customer-type
        - business.card-volume-distribution
        - business.fulfillment
        - business.description
        - business.underwriting-documents-tier-one
        - bank-accounts.name
        - bank-accounts.routing-number
        - bank-accounts.account-number
        - document.business.verification
        - document.individual.tin
        - document.individual.verification
        - document.representative.{rep-uuid}.tin
        - document.representative.{rep-uuid}.verification
        - representative.{rep-uuid}.mobile
        - representative.{rep-uuid}.email
        - representative.{rep-uuid}.email-or-mobile
        - representative.{rep-uuid}.firstname
        - representative.{rep-uuid}.lastname
        - representative.{rep-uuid}.address
        - representative.{rep-uuid}.ssn-last4
        - representative.{rep-uuid}.ssn
        - representative.{rep-uuid}.birthdate
        - representative.{rep-uuid}.job-title
        - representative.{rep-uuid}.is-controller
        - representative.{rep-uuid}.is-owner
        - representative.{rep-uuid}.ownership
        - document.{doc-uuid}
        - underwriting.businessPresence
        - underwriting.geographicReach
        - underwriting.volumeShareByCustomerType
        - underwriting.pendingLitigation
        - underwriting.documents.processingStatementsPast3Months
        - underwriting.collectFunds.cardPayments.cardAcceptanceMethods
        - underwriting.collectFunds.cardPayments.currentlyAcceptsCards
        - underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount
        - underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount
        - underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange
        - underwriting.collectFunds.cardPayments.fulfillment
        - underwriting.collectFunds.cardPayments.refundPolicy
        - underwriting.collectFunds.ach.cardAcceptanceMethods
        - underwriting.collectFunds.ach.currentlyAcceptsCards
        - underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount
        - underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount
        - underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange
        - underwriting.collectFunds.ach.fulfillment
        - underwriting.collectFunds.ach.refundPolicy
        - underwriting.sendFunds.ach.cardAcceptanceMethods
        - underwriting.sendFunds.ach.currentlyAcceptsCards
        - underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount
        - underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount
        - underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange
        - underwriting.sendFunds.ach.fulfillment
        - underwriting.sendFunds.ach.refundPolicy
        - underwriting.sendFunds.rtp.cardAcceptanceMethods
        - underwriting.sendFunds.rtp.currentlyAcceptsCards
        - underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount
        - underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount
        - underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange
        - underwriting.sendFunds.rtp.fulfillment
        - underwriting.sendFunds.rtp.refundPolicy
        - underwriting.sendFunds.pushToCard.cardAcceptanceMethods
        - underwriting.sendFunds.pushToCard.currentlyAcceptsCards
        - underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount
        - underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount
        - underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange
        - underwriting.sendFunds.pushToCard.fulfillment
        - underwriting.sendFunds.pushToCard.refundPolicy
        - underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods
        - underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards
        - underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount
        - underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount
        - underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange
        - underwriting.moneyTransfer.pullFromCard.fulfillment
        - underwriting.moneyTransfer.pullFromCard.refundPolicy
        - underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods
        - underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards
        - underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount
        - underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount
        - underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange
        - underwriting.moneyTransfer.pushToCard.fulfillment
        - underwriting.moneyTransfer.pushToCard.refundPolicy
      description: The unique ID of what the requirement is asking to be filled out.
    ReturnPolicyType:
      type: string
      enum:
        - none
        - exchangeOnly
        - withinThirtyDays
        - other
    Reversal:
      oneOf:
        - type: object
          required:
            - cancellation
          properties:
            cancellation:
              type: object
              required:
                - cancellationID
                - status
                - createdOn
              properties:
                cancellationID:
                  type: string
                status:
                  type: string
                  enum:
                    - pending
                    - completed
                    - failed
                createdOn:
                  type: string
                  format: date-time
          title: Canceled
        - type: object
          required:
            - refund
          properties:
            refund:
              type: object
              required:
                - refundID
                - createdOn
                - updatedOn
                - status
                - amount
              properties:
                refundID:
                  type: string
                  format: uuid
                  description: Identifier for the refund.
                createdOn:
                  type: string
                  format: date-time
                updatedOn:
                  type: string
                  format: date-time
                status:
                  type: string
                  enum:
                    - created
                    - pending
                    - completed
                    - failed
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                cardDetails:
                  type: object
                  required:
                    - status
                  properties:
                    status:
                      type: string
                      enum:
                        - initiated
                        - confirmed
                        - settled
                        - failed
                        - completed
                    failureCode:
                      type: string
                      enum:
                        - call-issuer
                        - do-not-honor
                        - processing-error
                        - invalid-transaction
                        - invalid-amount
                        - no-such-issuer
                        - reenter-transaction
                        - cvv-mismatch
                        - lost-or-stolen
                        - insufficient-funds
                        - invalid-card-number
                        - invalid-merchant
                        - expired-card
                        - incorrect-pin
                        - transaction-not-allowed
                        - suspected-fraud
                        - amount-limit-exceeded
                        - velocity-limit-exceeded
                        - revocation-of-authorization
                        - card-not-activated
                        - issuer-not-available
                        - could-not-route
                        - cardholder-account-closed
                        - unknown-issue
                        - duplicate-transaction
                    initiatedOn:
                      type: string
                      format: date-time
                    confirmedOn:
                      type: string
                      format: date-time
                    settledOn:
                      type: string
                      format: date-time
                    failedOn:
                      type: string
                      format: date-time
                    completedOn:
                      type: string
                      format: date-time
              description: Details of a card refund.
              title: Sync
          title: Refunded
      description: Contains either a cancellation or refund, depending on the method used to reverse the transfer.
    ReversalValidationError:
      type: object
      properties:
        amount:
          type: string
    ReversedWithCancellation:
      type: object
      required:
        - cancellation
      properties:
        cancellation:
          type: object
          required:
            - cancellationID
            - status
            - createdOn
          properties:
            cancellationID:
              type: string
            status:
              type: string
              enum:
                - pending
                - completed
                - failed
            createdOn:
              type: string
              format: date-time
      title: Canceled
    ReversedWithRefund:
      type: object
      required:
        - refund
      properties:
        refund:
          type: object
          required:
            - refundID
            - createdOn
            - updatedOn
            - status
            - amount
          properties:
            refundID:
              type: string
              format: uuid
              description: Identifier for the refund.
            createdOn:
              type: string
              format: date-time
            updatedOn:
              type: string
              format: date-time
            status:
              type: string
              enum:
                - created
                - pending
                - completed
                - failed
            amount:
              type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - settled
                    - failed
                    - completed
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
          description: Details of a card refund.
          title: Sync
      title: Refunded
    RevokeTokenRequest:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          description: The access or refresh token to revoke.
        token_type_hint:
          type: string
          enum:
            - access_token
            - refresh_token
          description: The type of token being revoked.
        client_id:
          type: string
          description: Client ID can be provided here in the body, or as the Username in HTTP Basic Auth.
          example: 5clTR_MdVrrkgxw2
        client_secret:
          type: string
          description: Client secret can be provided here in the body, or as the Password in HTTP Basic Auth.
          example: dNC-hg7sVm22jc3g_Eogtyu0_1Mqh_4-
    RevokeTokenRequestError:
      type: object
      properties:
        token:
          type: string
        token_type_hint:
          type: string
    RtpCreditPaymentMethod:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - bankAccount
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        paymentMethodType:
          type: string
          enum:
            - rtp-credit
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
      title: RTP credit
    RunTransfer:
      type: object
      required:
        - amount
        - destination
        - partnerAccountID
        - source
        - description
      properties:
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        destination:
          type: object
          required:
            - paymentMethodID
          properties:
            paymentMethodID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
        partnerAccountID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        source:
          type: object
          required:
            - paymentMethodID
          properties:
            paymentMethodID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
        description:
          type: string
          description: Simple description to place on the transfer.
      description: Defines the attributes of a transfer.
    SECCode:
      type: string
      enum:
        - WEB
        - PPD
        - CCD
        - TEL
      description: Code used to identify the ACH authorization method.
    ScheduleListResponse:
      type: object
      properties:
        sourceAccount:
          type: object
          required:
            - accountID
            - displayName
          properties:
            accountID:
              type: string
            displayName:
              type: string
            email:
              type: string
        destinationAccount:
          type: object
          required:
            - accountID
            - displayName
          properties:
            accountID:
              type: string
            displayName:
              type: string
            email:
              type: string
        partnerAccount:
          type: object
          required:
            - accountID
            - displayName
          properties:
            accountID:
              type: string
            displayName:
              type: string
            email:
              type: string
      allOf:
        - type: object
          required:
            - destinationAccountID
            - mode
            - ownerAccountID
            - partnerAccountID
            - scheduleID
            - sourceAccountID
            - createdOn
            - updatedOn
          properties:
            description:
              type: string
              description: Simple description to place on the transfer.
            destinationAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            mode:
              type: string
              enum:
                - sandbox
                - production
              description: The operating mode for an account.
              example: production
            occurrences:
              type: array
              items:
                type: object
                required:
                  - runOn
                  - runTransfer
                properties:
                  scheduleID:
                    type: string
                    format: uuid
                  occurrenceID:
                    type: string
                    format: uuid
                  mode:
                    allOf:
                      - type: string
                        enum:
                          - sandbox
                          - production
                        description: The operating mode for an account.
                        example: production
                    description: Sandbox or production account mode of this schedule.
                  generated:
                    type: boolean
                    description: True if this was generated by a RRule.
                  indefinite:
                    type: boolean
                    description: True if the RRule set runs indefinitely.
                  canceledOn:
                    type: string
                    format: date-time
                  runOn:
                    type: string
                    format: date-time
                  runTransfer:
                    type: object
                    required:
                      - amount
                      - destination
                      - partnerAccountID
                      - source
                      - description
                    properties:
                      amount:
                        type: object
                        required:
                          - currency
                          - value
                        properties:
                          currency:
                            type: string
                            pattern: ^[A-Za-z]{3}$
                            description: A 3-letter ISO 4217 currency code.
                            example: USD
                          value:
                            type: integer
                            format: int64
                            description: |-
                              Quantity in the smallest unit of the specified currency. 

                              In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                            example: 1204
                      destination:
                        type: object
                        required:
                          - paymentMethodID
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          achDetails:
                            type: object
                            properties:
                              companyEntryDescription:
                                type: string
                                minLength: 4
                                maxLength: 10
                                description: An optional override of the default NACHA company entry description for a transfer.
                                example: Gym dues
                              originatingCompanyName:
                                type: string
                                minLength: 4
                                maxLength: 16
                                description: An optional override of the default NACHA company name for a transfer.
                                example: Whole Body Fit
                          cardDetails:
                            type: object
                            properties:
                              dynamicDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                example: WhlBdy *Yoga 11-12
                      partnerAccountID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      source:
                        type: object
                        required:
                          - paymentMethodID
                        properties:
                          paymentMethodID:
                            type: string
                            format: uuid
                            example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                          achDetails:
                            type: object
                            properties:
                              companyEntryDescription:
                                type: string
                                minLength: 4
                                maxLength: 10
                                description: An optional override of the default NACHA company entry description for a transfer.
                                example: Gym dues
                              originatingCompanyName:
                                type: string
                                minLength: 4
                                maxLength: 16
                                description: An optional override of the default NACHA company name for a transfer.
                                example: Whole Body Fit
                          cardDetails:
                            type: object
                            properties:
                              dynamicDescriptor:
                                type: string
                                minLength: 4
                                maxLength: 22
                                description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                                example: WhlBdy *Yoga 11-12
                      description:
                        type: string
                        description: Simple description to place on the transfer.
                    description: Defines the attributes of a transfer.
                  ranOn:
                    type: string
                    format: date-time
                  ranTransferID:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - pending
                      - failed
                      - completed
                    description: Status of the completed occurrence.
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                    description: Contains details on why the occurrence errored.
            ownerAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            partnerAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            recur:
              type: object
              required:
                - recurrenceRule
                - runTransfer
              properties:
                recurrenceRule:
                  type: string
                  description: |2-
                      RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                      Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
                runTransfer:
                  type: object
                  required:
                    - amount
                    - destination
                    - partnerAccountID
                    - source
                    - description
                  properties:
                    amount:
                      type: object
                      required:
                        - currency
                        - value
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        value:
                          type: integer
                          format: int64
                          description: |-
                            Quantity in the smallest unit of the specified currency. 

                            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                          example: 1204
                    destination:
                      type: object
                      required:
                        - paymentMethodID
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        achDetails:
                          type: object
                          properties:
                            companyEntryDescription:
                              type: string
                              minLength: 4
                              maxLength: 10
                              description: An optional override of the default NACHA company entry description for a transfer.
                              example: Gym dues
                            originatingCompanyName:
                              type: string
                              minLength: 4
                              maxLength: 16
                              description: An optional override of the default NACHA company name for a transfer.
                              example: Whole Body Fit
                        cardDetails:
                          type: object
                          properties:
                            dynamicDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                              example: WhlBdy *Yoga 11-12
                    partnerAccountID:
                      type: string
                      format: uuid
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    source:
                      type: object
                      required:
                        - paymentMethodID
                      properties:
                        paymentMethodID:
                          type: string
                          format: uuid
                          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                        achDetails:
                          type: object
                          properties:
                            companyEntryDescription:
                              type: string
                              minLength: 4
                              maxLength: 10
                              description: An optional override of the default NACHA company entry description for a transfer.
                              example: Gym dues
                            originatingCompanyName:
                              type: string
                              minLength: 4
                              maxLength: 16
                              description: An optional override of the default NACHA company name for a transfer.
                              example: Whole Body Fit
                        cardDetails:
                          type: object
                          properties:
                            dynamicDescriptor:
                              type: string
                              minLength: 4
                              maxLength: 22
                              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                              example: WhlBdy *Yoga 11-12
                    description:
                      type: string
                      description: Simple description to place on the transfer.
                  description: Defines the attributes of a transfer.
                indefinite:
                  type: boolean
                  description: True if the RRule set runs indefinitely.
                start:
                  type: string
                  format: date-time
                  example: '2009-11-10T23:00:00Z'
              description: Defines configuration for recurring transfers.
            scheduleID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            sourceAccountID:
              type: string
              format: uuid
              example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
            createdOn:
              type: string
              format: date-time
            updatedOn:
              type: string
              format: date-time
            disabledOn:
              type: string
              format: date-time
    SchedulePaymentMethod:
      type: object
      required:
        - paymentMethodID
      properties:
        paymentMethodID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        achDetails:
          type: object
          properties:
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
        cardDetails:
          type: object
          properties:
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
    ScheduleResponse:
      type: object
      required:
        - destinationAccountID
        - mode
        - ownerAccountID
        - partnerAccountID
        - scheduleID
        - sourceAccountID
        - createdOn
        - updatedOn
      properties:
        description:
          type: string
          description: Simple description to place on the transfer.
        destinationAccountID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        mode:
          type: string
          enum:
            - sandbox
            - production
          description: The operating mode for an account.
          example: production
        occurrences:
          type: array
          items:
            type: object
            required:
              - runOn
              - runTransfer
            properties:
              scheduleID:
                type: string
                format: uuid
              occurrenceID:
                type: string
                format: uuid
              mode:
                allOf:
                  - type: string
                    enum:
                      - sandbox
                      - production
                    description: The operating mode for an account.
                    example: production
                description: Sandbox or production account mode of this schedule.
              generated:
                type: boolean
                description: True if this was generated by a RRule.
              indefinite:
                type: boolean
                description: True if the RRule set runs indefinitely.
              canceledOn:
                type: string
                format: date-time
              runOn:
                type: string
                format: date-time
              runTransfer:
                type: object
                required:
                  - amount
                  - destination
                  - partnerAccountID
                  - source
                  - description
                properties:
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                  partnerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  source:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                  description:
                    type: string
                    description: Simple description to place on the transfer.
                description: Defines the attributes of a transfer.
              ranOn:
                type: string
                format: date-time
              ranTransferID:
                type: string
                format: uuid
              status:
                type: string
                enum:
                  - pending
                  - failed
                  - completed
                description: Status of the completed occurrence.
              error:
                type: object
                properties:
                  message:
                    type: string
                description: Contains details on why the occurrence errored.
        ownerAccountID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        partnerAccountID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        recur:
          type: object
          required:
            - recurrenceRule
            - runTransfer
          properties:
            recurrenceRule:
              type: string
              description: |2-
                  RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                  Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
            runTransfer:
              type: object
              required:
                - amount
                - destination
                - partnerAccountID
                - source
                - description
              properties:
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                destination:
                  type: object
                  required:
                    - paymentMethodID
                  properties:
                    paymentMethodID:
                      type: string
                      format: uuid
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                partnerAccountID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                source:
                  type: object
                  required:
                    - paymentMethodID
                  properties:
                    paymentMethodID:
                      type: string
                      format: uuid
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                description:
                  type: string
                  description: Simple description to place on the transfer.
              description: Defines the attributes of a transfer.
            indefinite:
              type: boolean
              description: True if the RRule set runs indefinitely.
            start:
              type: string
              format: date-time
              example: '2009-11-10T23:00:00Z'
          description: Defines configuration for recurring transfers.
        scheduleID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        sourceAccountID:
          type: string
          format: uuid
          example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        disabledOn:
          type: string
          format: date-time
    ScheduleValidationError:
      type: object
      properties:
        occurrences:
          type: object
          additionalProperties:
            type: string
        recur:
          type: string
        description:
          type: string
    SendFunds:
      type: object
      properties:
        ach:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
        pushToCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
        rtp:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
        instantBank:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: integer
                  format: int64
                maximumTransactionAmount:
                  type: integer
                  format: int64
                monthlyVolumeRange:
                  type: string
                  enum:
                    - under-10k
                    - 10k-50k
                    - 50k-100k
                    - 100k-250k
                    - 250k-500k
                    - 500k-1m
                    - 1m-5m
                    - over-5m
                  description: The low value in each range is included. The high value in each range is excluded.
    SendFundsAch:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    SendFundsAchError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    SendFundsError:
      type: object
      properties:
        ach:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
        pushToCard:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
        rtp:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
        instantBank:
          type: object
          properties:
            estimatedActivity:
              type: object
              properties:
                averageTransactionAmount:
                  type: string
                maximumTransactionAmount:
                  type: string
                monthlyVolumeRange:
                  type: string
    SendFundsInstantBank:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    SendFundsInstantBankError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    SendFundsPushToCard:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    SendFundsPushToCardError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    SendFundsRtp:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: integer
              format: int64
            maximumTransactionAmount:
              type: integer
              format: int64
            monthlyVolumeRange:
              type: string
              enum:
                - under-10k
                - 10k-50k
                - 50k-100k
                - 100k-250k
                - 250k-500k
                - 500k-1m
                - 1m-5m
                - over-5m
              description: The low value in each range is included. The high value in each range is excluded.
    SendFundsRtpError:
      type: object
      properties:
        estimatedActivity:
          type: object
          properties:
            averageTransactionAmount:
              type: string
            maximumTransactionAmount:
              type: string
            monthlyVolumeRange:
              type: string
    SentReceipt:
      type: object
      required:
        - receiptID
        - idempotencyKey
        - sentOn
      properties:
        receiptID:
          type: string
          format: uuid
          description: Unique identifier for the receipt.
        idempotencyKey:
          type: string
          format: uuid
          description: The idempotency key used when creating the receipt.
        sentOn:
          type: string
          format: date-time
          description: When the receipt was sent.
          example: 2025-11-10T23:00:000Z
    Settings:
      type: object
      properties:
        cardPayment:
          type: object
          properties:
            statementDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              pattern: '[a-zA-Z0-9.!*-+_ ]+'
              description: The description that shows up on credit card transactions. This will default to the accounts display name on account creation.
              example: Whole Body Fitness
          description: User provided settings to manage card payments. This data is only allowed on a business account.
        achPayment:
          type: object
          required:
            - companyName
          properties:
            companyName:
              type: string
              minLength: 1
              maxLength: 16
              pattern: '[a-zA-Z0-9- ]+'
              description: The description that shows up on ACH transactions. This will default to the account's display name on account creation.
              example: WholeBodyFitness
      description: User provided settings to manage an account.
    SignedDecimalString:
      type: string
      format: ^\d+\.\d{1,2}$
      description: A decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99.
      example: '-14.89'
    Skip:
      type: integer
      format: int64
      description: The number of entries to skip when paginating a large result set.
      example: 60
    SourceDestinationOptions:
      type: object
      properties:
        accountID:
          type: string
          format: uuid
        paymentMethodID:
          type: string
          format: uuid
    Statement:
      type: object
      required:
        - statementID
        - statementName
        - fileName
        - fileSize
        - billingPeriodStartDateTime
        - billingPeriodEndDateTime
        - subscriptionIDs
        - summary
        - createdOn
        - updatedOn
      properties:
        statementID:
          type: string
          format: uuid
          description: The unique identifier for the statement.
        statementName:
          type: string
          description: The name of the statement.
        fileName:
          type: string
          description: The name of the statement file.
        fileSize:
          type: integer
          format: int64
          description: The size of the statement file in bytes.
        billingPeriodStartDateTime:
          type: string
          format: date-time
          description: The start date and time of the billing period.
        billingPeriodEndDateTime:
          type: string
          format: date-time
          description: The end date and time of the billing period.
        subscriptionIDs:
          type: array
          items:
            type: string
          description: List of subscription IDs associated with this statement.
        summary:
          allOf:
            - type: object
              properties:
                cardAcquiring:
                  type: object
                  properties:
                    volumeAmount:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: The total transaction volume amount.
                    volumeCount:
                      type: integer
                      format: int64
                      description: The total number of transactions.
                    feeAmount:
                      allOf:
                        - type: object
                          required:
                            - currency
                            - valueDecimal
                          properties:
                            currency:
                              type: string
                              pattern: ^[A-Za-z]{3}$
                              description: A 3-letter ISO 4217 currency code.
                              example: USD
                            valueDecimal:
                              type: string
                              pattern: ^\d+\.\d{1,9}$
                              description: |-
                                A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                For example, $12.987654321 is '12.987654321'.
                              example: '12.987654321'
                      description: The total fee amount.
                    interchangeFees:
                      allOf:
                        - type: object
                          required:
                            - visa
                            - mastercard
                            - discover
                            - americanExpress
                          properties:
                            visa:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Total interchange fees for Visa.
                            mastercard:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Total interchange fees for Mastercard.
                            discover:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Total interchange fees for Discover.
                            americanExpress:
                              allOf:
                                - type: object
                                  required:
                                    - currency
                                    - valueDecimal
                                  properties:
                                    currency:
                                      type: string
                                      pattern: ^[A-Za-z]{3}$
                                      description: A 3-letter ISO 4217 currency code.
                                      example: USD
                                    valueDecimal:
                                      type: string
                                      pattern: ^\d+\.\d{1,9}$
                                      description: |-
                                        A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                        For example, $12.987654321 is '12.987654321'.
                                      example: '12.987654321'
                              description: Total interchange fees for American Express.
                          description: A summary of interchange fees by card brand.
                      description: A summary of interchange fees by card brand.
                  description: A summary of card acquiring volume and fees.
                ach:
                  allOf:
                    - type: object
                      properties:
                        volumeAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total transaction volume amount.
                        volumeCount:
                          type: integer
                          format: int64
                          description: The total number of transactions.
                        feeAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total fee amount.
                      description: Details of volume and fees for a specific payment method.
                  description: A summary of ACH volume and fees.
                instantPayments:
                  allOf:
                    - type: object
                      properties:
                        volumeAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total transaction volume amount.
                        volumeCount:
                          type: integer
                          format: int64
                          description: The total number of transactions.
                        feeAmount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total fee amount.
                      description: Details of volume and fees for a specific payment method.
                  description: A summary of instant payment volume and fees.
                platformFees:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount of platform fees.
                adjustmentFees:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount of adjustment fees.
                otherFees:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount of other fees.
                total:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: The total amount of all fees.
              description: A summary of all fees included in a statement.
          description: A summary of all fees included in this statement.
        cardAcquiringFees:
          allOf:
            - type: object
              required:
                - visa
                - mastercard
                - discover
                - americanExpress
              properties:
                visa:
                  allOf:
                    - type: object
                      required:
                        - total
                      properties:
                        interchange:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of interchange fees.
                        interchangePrograms:
                          type: array
                          items:
                            type: object
                            required:
                              - programName
                              - count
                              - percentageRate
                              - perItemRate
                              - total
                              - transferVolume
                            properties:
                              programName:
                                type: string
                                description: The name of the interchange program.
                              count:
                                type: integer
                                format: int64
                                description: The number of transactions for this program.
                              percentageRate:
                                type: number
                                format: decimal
                                description: The percentage rate for this program.
                              perItemRate:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The per-item rate for this program.
                              total:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total fee amount for this program.
                              transferVolume:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total transfer volume for this program.
                            description: Details of a specific interchange program fee.
                          description: A list of interchange program fees.
                        networkPassthrough:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of network passthrough fees.
                        completedDomesticOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic online transactions.
                        completedDomesticInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic in-person transactions.
                        completedInternationalOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international online transactions.
                        completedInternationalInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international in-person transactions.
                        declines:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of declined transactions.
                        refunds:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of refunded transactions.
                        total:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Total fees for this card brand.
                      description: A detailed breakdown of fees for a specific card brand.
                  description: Fees associated with Visa transactions.
                mastercard:
                  allOf:
                    - type: object
                      required:
                        - total
                      properties:
                        interchange:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of interchange fees.
                        interchangePrograms:
                          type: array
                          items:
                            type: object
                            required:
                              - programName
                              - count
                              - percentageRate
                              - perItemRate
                              - total
                              - transferVolume
                            properties:
                              programName:
                                type: string
                                description: The name of the interchange program.
                              count:
                                type: integer
                                format: int64
                                description: The number of transactions for this program.
                              percentageRate:
                                type: number
                                format: decimal
                                description: The percentage rate for this program.
                              perItemRate:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The per-item rate for this program.
                              total:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total fee amount for this program.
                              transferVolume:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total transfer volume for this program.
                            description: Details of a specific interchange program fee.
                          description: A list of interchange program fees.
                        networkPassthrough:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of network passthrough fees.
                        completedDomesticOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic online transactions.
                        completedDomesticInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic in-person transactions.
                        completedInternationalOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international online transactions.
                        completedInternationalInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international in-person transactions.
                        declines:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of declined transactions.
                        refunds:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of refunded transactions.
                        total:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Total fees for this card brand.
                      description: A detailed breakdown of fees for a specific card brand.
                  description: Fees associated with Mastercard transactions.
                discover:
                  allOf:
                    - type: object
                      required:
                        - total
                      properties:
                        interchange:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of interchange fees.
                        interchangePrograms:
                          type: array
                          items:
                            type: object
                            required:
                              - programName
                              - count
                              - percentageRate
                              - perItemRate
                              - total
                              - transferVolume
                            properties:
                              programName:
                                type: string
                                description: The name of the interchange program.
                              count:
                                type: integer
                                format: int64
                                description: The number of transactions for this program.
                              percentageRate:
                                type: number
                                format: decimal
                                description: The percentage rate for this program.
                              perItemRate:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The per-item rate for this program.
                              total:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total fee amount for this program.
                              transferVolume:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total transfer volume for this program.
                            description: Details of a specific interchange program fee.
                          description: A list of interchange program fees.
                        networkPassthrough:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of network passthrough fees.
                        completedDomesticOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic online transactions.
                        completedDomesticInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic in-person transactions.
                        completedInternationalOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international online transactions.
                        completedInternationalInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international in-person transactions.
                        declines:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of declined transactions.
                        refunds:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of refunded transactions.
                        total:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Total fees for this card brand.
                      description: A detailed breakdown of fees for a specific card brand.
                  description: Fees associated with Discover transactions.
                americanExpress:
                  allOf:
                    - type: object
                      required:
                        - total
                      properties:
                        interchange:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of interchange fees.
                        interchangePrograms:
                          type: array
                          items:
                            type: object
                            required:
                              - programName
                              - count
                              - percentageRate
                              - perItemRate
                              - total
                              - transferVolume
                            properties:
                              programName:
                                type: string
                                description: The name of the interchange program.
                              count:
                                type: integer
                                format: int64
                                description: The number of transactions for this program.
                              percentageRate:
                                type: number
                                format: decimal
                                description: The percentage rate for this program.
                              perItemRate:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The per-item rate for this program.
                              total:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total fee amount for this program.
                              transferVolume:
                                allOf:
                                  - type: object
                                    required:
                                      - currency
                                      - valueDecimal
                                    properties:
                                      currency:
                                        type: string
                                        pattern: ^[A-Za-z]{3}$
                                        description: A 3-letter ISO 4217 currency code.
                                        example: USD
                                      valueDecimal:
                                        type: string
                                        pattern: ^\d+\.\d{1,9}$
                                        description: |-
                                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                          For example, $12.987654321 is '12.987654321'.
                                        example: '12.987654321'
                                description: The total transfer volume for this program.
                            description: Details of a specific interchange program fee.
                          description: A list of interchange program fees.
                        networkPassthrough:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of network passthrough fees.
                        completedDomesticOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic online transactions.
                        completedDomesticInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed domestic in-person transactions.
                        completedInternationalOnline:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international online transactions.
                        completedInternationalInPerson:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of completed international in-person transactions.
                        declines:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of declined transactions.
                        refunds:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Details of refunded transactions.
                        total:
                          allOf:
                            - type: object
                              required:
                                - count
                                - amount
                              properties:
                                count:
                                  type: integer
                                  format: int64
                                  description: The number of items.
                                amount:
                                  allOf:
                                    - type: object
                                      required:
                                        - currency
                                        - valueDecimal
                                      properties:
                                        currency:
                                          type: string
                                          pattern: ^[A-Za-z]{3}$
                                          description: A 3-letter ISO 4217 currency code.
                                          example: USD
                                        valueDecimal:
                                          type: string
                                          pattern: ^\d+\.\d{1,9}$
                                          description: |-
                                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                            For example, $12.987654321 is '12.987654321'.
                                          example: '12.987654321'
                                  description: The total amount.
                              description: Represents a count of items and their total amount.
                          description: Total fees for this card brand.
                      description: A detailed breakdown of fees for a specific card brand.
                  description: Fees associated with American Express transactions.
              description: A detailed breakdown of card acquiring fees by card brand.
          description: A detailed breakdown of card acquiring fees.
        achFees:
          allOf:
            - type: object
              required:
                - standardCredit
                - sameDayCredit
                - debits
                - return
                - unauthorizedReturn
                - noticeOfChange
                - total
              properties:
                standardCredit:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for standard credit transfers.
                sameDayCredit:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for same-day credit transfers.
                debits:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for debit transfers.
                return:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for authorized returns.
                unauthorizedReturn:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for unauthorized returns.
                noticeOfChange:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for notices of change.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total ACH fees.
              description: A detailed breakdown of ACH fees.
          description: A detailed breakdown of ACH fees.
        instantPaymentFees:
          allOf:
            - type: object
              required:
                - rtpCreditTransaction
                - pushToCardTransaction
                - pullFromCardTransaction
                - total
              properties:
                rtpCreditTransaction:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for RTP credit transactions.
                rtpDecline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for RTP declines.
                pushToCardTransaction:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for push-to-card transactions.
                pushToCardDecline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for push-to-card declines.
                pullFromCardTransaction:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for pull-from-card transactions.
                pullFromCardDecline:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for pull-from-card declines.
                pullFromCardRefund:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for pull-from-card refunds.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total instant payment fees.
              description: A detailed breakdown of instant payment fees.
          description: A detailed breakdown of instant payment fees.
        platformFees:
          allOf:
            - type: object
              required:
                - walletFee
                - merchantPCIFee
                - total
              properties:
                walletFee:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: Fees associated with wallet services.
                merchantPCIFee:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: Fees for PCI compliance.
                total:
                  allOf:
                    - type: object
                      required:
                        - currency
                        - valueDecimal
                      properties:
                        currency:
                          type: string
                          pattern: ^[A-Za-z]{3}$
                          description: A 3-letter ISO 4217 currency code.
                          example: USD
                        valueDecimal:
                          type: string
                          pattern: ^\d+\.\d{1,9}$
                          description: |-
                            A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                            For example, $12.987654321 is '12.987654321'.
                          example: '12.987654321'
                  description: Total platform fees.
              description: A detailed breakdown of platform fees.
          description: A detailed breakdown of platform fees.
        otherCardFees:
          allOf:
            - type: object
              required:
                - disputes
                - cardAccountUpdater
                - cardVerification
                - nameVerification
                - total
              properties:
                disputes:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for disputes.
                cardAccountUpdater:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for card account updater services.
                cardVerification:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for card verification.
                nameVerification:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Fees for name verification.
                total:
                  allOf:
                    - type: object
                      required:
                        - count
                        - amount
                      properties:
                        count:
                          type: integer
                          format: int64
                          description: The number of items.
                        amount:
                          allOf:
                            - type: object
                              required:
                                - currency
                                - valueDecimal
                              properties:
                                currency:
                                  type: string
                                  pattern: ^[A-Za-z]{3}$
                                  description: A 3-letter ISO 4217 currency code.
                                  example: USD
                                valueDecimal:
                                  type: string
                                  pattern: ^\d+\.\d{1,9}$
                                  description: |-
                                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                                    For example, $12.987654321 is '12.987654321'.
                                  example: '12.987654321'
                          description: The total amount.
                      description: Represents a count of items and their total amount.
                  description: Total other card fees.
              description: A detailed breakdown of other card-related fees.
          description: A detailed breakdown of other card-related fees.
        createdOn:
          type: string
          format: date-time
          description: The date and time the statement was created.
        updatedOn:
          type: string
          format: date-time
          description: The date and time the statement was last updated.
      description: A billing statement for a Moov account.
    SubmissionIntent:
      type: string
      enum:
        - wait
        - submit
    Sweep:
      type: object
      required:
        - sweepID
        - status
        - accruedAmount
        - currency
        - accrualStartedOn
      properties:
        sweepID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - accruing
            - action-required
            - canceled
            - closed
            - failed
            - paid
        accruedAmount:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: The total net amount of wallet transactions accrued in the sweep.
        residualBalance:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: Amount remaining in the wallet after the sweep transfer completes.
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        accrualStartedOn:
          type: string
          format: date-time
          description: The date-time the sweep began accruing transactions.
        accrualEndedOn:
          type: string
          format: date-time
          description: The date-time the sweep stopped accruing transactions.
        pushPaymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        pullPaymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        transferID:
          type: string
          format: uuid
        transferAmount:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: Amount that is transferred.
        statementDescriptor:
          type: string
          minLength: 4
          maxLength: 10
          description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
        subtotals:
          type: array
          items:
            type: object
            required:
              - type
              - count
              - amount
            properties:
              type:
                allOf:
                  - type: string
                    enum:
                      - account-funding
                      - ach-reversal
                      - auto-sweep
                      - card-payment
                      - card-decline
                      - card-reversal
                      - cash-out
                      - dispute
                      - dispute-reversal
                      - facilitator-fee
                      - issuing-refund
                      - issuing-transaction
                      - issuing-transaction-adjustment
                      - issuing-auth-hold
                      - issuing-auth-release
                      - issuing-decline
                      - moov-fee
                      - payment
                      - payout
                      - refund
                      - refund-failure
                      - rtp-failure
                      - top-up
                      - wallet-transfer
                      - adjustment
                      - fee-revenue
                      - residual
                description: The type of wallet transaction the subtotal is for.
              count:
                type: integer
                format: int64
                description: The number of transactions of this type accrued in the sweep.
              amount:
                allOf:
                  - type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                description: The value of transactions of this type accrued in the sweep.
          description: The subtotal of each transaction type contributing to the sweep's accrued amount.
    SweepConfig:
      type: object
      required:
        - sweepConfigID
        - walletID
        - status
        - pushPaymentMethod
        - pullPaymentMethod
        - createdOn
        - updatedOn
      properties:
        sweepConfigID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - enabled
            - disabled
        pushPaymentMethod:
          type: object
          required:
            - paymentMethodID
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            disabledOn:
              type: string
              format: date-time
          description: |-
            The payment method used to push or pull funds to a bank account.
            The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
        pullPaymentMethod:
          type: object
          required:
            - paymentMethodID
          properties:
            paymentMethodID:
              type: string
              format: uuid
              description: ID of the payment method.
            disabledOn:
              type: string
              format: date-time
          description: |-
            The payment method used to push or pull funds to a bank account.
            The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
        minimumBalance:
          type: string
          pattern: ^\d+\.\d{1,2}$
          description: An optional field to specify an amount to maintain in the wallet. This is a decimal-formatted numerical string that represents up to 2 decimal place precision. In USD for example, 12.34 is $12.34 and 0.99 is $0.99. If not supplied, the default is 0.00.
        statementDescriptor:
          type: string
          minLength: 4
          maxLength: 10
          description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
        lockedFields:
          type: array
          items:
            type: string
          description: An array of fields that are locked. To request updates, please contact Moov support.
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
    SweepConfigID:
      type: string
      format: uuid
    SweepConfigPaymentMethod:
      type: object
      required:
        - paymentMethodID
      properties:
        paymentMethodID:
          type: string
          format: uuid
          description: ID of the payment method.
        disabledOn:
          type: string
          format: date-time
      description: |-
        The payment method used to push or pull funds to a bank account.
        The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
    SweepConfigStatus:
      type: string
      enum:
        - enabled
        - disabled
    SweepID:
      type: string
      format: uuid
    SweepStatementDescriptor:
      type: string
      minLength: 4
      maxLength: 10
      description: The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
    SweepStatus:
      type: string
      enum:
        - accruing
        - action-required
        - canceled
        - closed
        - failed
        - paid
    SweepSubtotal:
      type: object
      required:
        - type
        - count
        - amount
      properties:
        type:
          allOf:
            - type: string
              enum:
                - account-funding
                - ach-reversal
                - auto-sweep
                - card-payment
                - card-decline
                - card-reversal
                - cash-out
                - dispute
                - dispute-reversal
                - facilitator-fee
                - issuing-refund
                - issuing-transaction
                - issuing-transaction-adjustment
                - issuing-auth-hold
                - issuing-auth-release
                - issuing-decline
                - moov-fee
                - payment
                - payout
                - refund
                - refund-failure
                - rtp-failure
                - top-up
                - wallet-transfer
                - adjustment
                - fee-revenue
                - residual
          description: The type of wallet transaction the subtotal is for.
        count:
          type: integer
          format: int64
          description: The number of transactions of this type accrued in the sweep.
        amount:
          allOf:
            - type: object
              required:
                - currency
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
                  description: |-
                    A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                    For example, $12.987654321 is '12.987654321'.
                  example: '12.987654321'
          description: The value of transactions of this type accrued in the sweep.
    TaxID:
      type: object
      required:
        - ein
      properties:
        ein:
          type: object
          properties:
            number:
              type: string
              example: 12-3456789
          required:
            - number
      description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
    TaxIDUpdate:
      type: object
      properties:
        ein:
          type: object
          properties:
            number:
              type: string
              example: 12-3456789
      description: An EIN (employer identification number) for the business. For sole proprietors, an SSN can be used as the EIN.
    TerminalApplication:
      type: object
      required:
        - terminalApplicationID
        - status
        - platform
      properties:
        terminalApplicationID:
          type: string
          format: uuid
          description: ID of the terminal application.
          example: 12345678-1234-1234-1234-123456789012
        status:
          type: string
          enum:
            - undefined
            - pending
            - enabled
            - disabled
          description: Status of the terminal application.
          example: enabled
        platform:
          type: string
          enum:
            - undefined
            - ios
            - android
          description: Platform of the terminal application.
          example: ios
        appBundleID:
          type: string
          description: The app bundle identifier of the terminal application. Will be returned if platform is `ios`.
        packageName:
          type: string
          pattern: ^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$
          description: The app package name of the terminal application. Will be returned if platform is `android`.
        sha256Digest:
          type: string
          description: A cryptographic hash of the signing key for the application. Will be returned if platform is `android`.
        versionCode:
          type: string
          description: The app version code of the terminal application. Will be returned if platform is `android`.
      description: Describes a terminal application.
      example:
        terminalApplicationID: 12345678-1234-1234-1234-123456789012
        status: pending
        platform: android
        packageName: com.example.app
        sha256Digest: AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD:EE:FF:AA:BB:CC:DD
        versionCode: '20332277'
    TerminalApplicationError:
      type: object
      properties:
        platform:
          type: string
        appBundleID:
          type: string
        packageName:
          type: string
        sha256Digest:
          type: string
        versionCode:
          type: string
    TerminalApplicationID:
      type: string
      format: uuid
      description: ID of the terminal application.
      example: 12345678-1234-1234-1234-123456789012
    TerminalApplicationPlatform:
      type: string
      enum:
        - undefined
        - ios
        - android
      description: Platform of the terminal application.
      example: ios
    TerminalApplicationStatus:
      type: string
      enum:
        - undefined
        - pending
        - enabled
        - disabled
      description: Status of the terminal application.
      example: enabled
    TerminalApplicationVersion:
      type: object
      required:
        - version
      properties:
        version:
          type: string
          description: The app version of the terminal application (version code for Android terminal application).
      description: Describes a terminal application version.
      example:
        version: '20440059'
    TerminalCard:
      type: object
      properties:
        entryMode:
          type: string
          enum:
            - contactless
          description: How the card information was entered into the point of sale terminal.
          example: contactless
        brand:
          type: string
          enum:
            - American Express
            - Discover
            - Mastercard
            - Visa
            - Unknown
          description: The card brand.
          example: Visa
        bin:
          type: string
          minLength: 6
          maxLength: 8
        cardType:
          type: string
          enum:
            - debit
            - credit
            - prepaid
            - unknown
          description: The type of the card.
          example: credit
        expiration:
          type: object
          required:
            - month
            - year
          properties:
            month:
              type: string
              minLength: 2
              maxLength: 2
            year:
              type: string
              minLength: 2
              maxLength: 2
          description: The expiration date of the card or token.
          example:
            month: '01'
            year: '21'
        fingerprint:
          type: string
          maxLength: 100
          description: |-
            Uniquely identifies a linked payment card or token.
            For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
            This field can be used to identify specific payment methods across multiple accounts on your platform.
          example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
        holderName:
          type: string
          description: The name of the cardholder as it appears on the card.
        issuer:
          type: string
          description: Financial institution that issued the card.
        issuerCountry:
          type: string
          description: Country where the card was issued.
        lastFourCardNumber:
          type: string
          minLength: 4
          maxLength: 4
          description: Last four digits of the card number
        applicationID:
          type: string
          description: Identifier for the point of sale terminal application.
        applicationName:
          type: string
          description: Name label for the point of sale terminal application.
      description: Describes payment card details captured with tap or in-person payment.
      example:
        entryMode: contactless
        brand: Visa
        bin: '123456'
        cardType: credit
        expiration:
          month: '01'
          year: '21'
        fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
        holderName: Jules Jackson
        issuer: GRINGOTTS BANK
        issuerCountry: US
        lastFourCardNumber: '1234'
    TerminalConfiguration:
      type: object
      required:
        - configuration
      properties:
        configuration:
          type: string
      description: Describes a terminal configuration.
      example:
        configuration: Zm9vYmFyCg==
    TermsOfService:
      type: object
      required:
        - acceptedDate
        - acceptedIP
      properties:
        acceptedDate:
          type: string
          format: date-time
          description: The date and time the terms of service were accepted.
        acceptedIP:
          type: string
          format: ipv4
          description: The IP address from which the terms of service were accepted.
          example: 172.217.2.46
      description: Describes the acceptance of the Terms of Service.
    TermsOfServiceError:
      type: object
      properties:
        token:
          type: string
        manual:
          type: object
          properties:
            acceptedDate:
              type: string
            acceptedDomain:
              type: string
            acceptedIP:
              type: string
            acceptedUserAgent:
              type: string
    TermsOfServiceToken:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
      description: An encrypted value used to record acceptance of Moov's Terms of Service.
      title: Token
    TermsOfServiceTokenUpdate:
      type: object
      properties:
        token:
          type: string
          example: kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUQoxsyWYPcYzuHQTqrt7YRp4gCwyDQvb6U5REM9Pgl2EloCe35t-eiMAbUWGo3Kerxme6aqNcKrP_6-v0MTXViOEJ96IBxPFTvMV7EROI2dq3u4e-x4BbGSCedAX-ViAQND6hcreCDXwrO6sHuzh5Xi2IzSqZHxaovnWEboaxuZKRJkA3dsFID6fzitMpm2qrOh4
      description: An encrypted value used to record acceptance of Moov's Terms of Service.
      title: Token
    Ticket:
      type: object
      required:
        - ticketID
        - number
        - title
        - contact
        - status
        - createdOn
        - updatedOn
      properties:
        ticketID:
          type: string
        number:
          type: integer
        title:
          type: string
        contact:
          type: object
          required:
            - email
          properties:
            email:
              type: string
            name:
              type: string
        status:
          type: string
          enum:
            - new
            - in-progress
            - on-hold
            - closed
        createdOn:
          type: string
          format: date-time
        updatedOn:
          type: string
          format: date-time
        latestMessageOn:
          type: string
          format: date-time
        closedOn:
          type: string
          format: date-time
        foreignID:
          type: string
    TicketContact:
      type: object
      required:
        - email
      properties:
        email:
          type: string
        name:
          type: string
    TicketMessage:
      type: object
      required:
        - author
        - body
        - sentOn
      properties:
        author:
          type: string
        body:
          type: string
          format: html
        sentOn:
          type: string
          format: date-time
    TicketStatus:
      type: string
      enum:
        - new
        - in-progress
        - on-hold
        - closed
    TokenType:
      type: string
      enum:
        - Bearer
      description: An [RFC 6750](https://www.rfc-editor.org/rfc/rfc6750#section-6.1) token type.
      example: Bearer
    TransactionSource:
      type: string
      enum:
        - first-recurring
        - recurring
        - unscheduled
      description: |-
        Specifies the nature and initiator of a transaction. 

        Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
        Omit for customer-initiated e-commerce transactions.
    Transfer:
      type: object
      required:
        - transferID
        - createdOn
        - source
        - destination
        - status
        - amount
      properties:
        transferID:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        source:
          type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - account
          properties:
            transferID:
              type: string
              format: uuid
              description: UUID present only if the transfer is part of a transfer group.
            paymentMethodID:
              type: string
            paymentMethodType:
              type: string
              enum:
                - moov-wallet
                - ach-debit-fund
                - ach-debit-collect
                - ach-credit-standard
                - ach-credit-same-day
                - rtp-credit
                - card-payment
                - push-to-card
                - pull-from-card
                - apple-pay
                - card-present-payment
              description: The payment method type that represents a payment rail and directionality
            account:
              type: object
              required:
                - accountID
                - email
                - displayName
              properties:
                accountID:
                  type: string
                email:
                  type: string
                displayName:
                  type: string
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
            wallet:
              type: object
              required:
                - walletID
                - partnerAccountID
                - walletType
              properties:
                walletID:
                  type: string
                  format: uuid
                partnerAccountID:
                  type: string
                  format: uuid
                walletType:
                  type: string
                  enum:
                    - default
                    - general
                  description: |-
                    Type of a wallet.
                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                      - `general`: An additional, user-defined wallet created via API or Dashboard.
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
            applePay:
              type: object
              required:
                - brand
                - cardType
                - cardDisplayName
                - fingerprint
                - expiration
                - dynamicLastFour
              properties:
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                cardDisplayName:
                  type: string
                  description: |2-
                      User-friendly name of the tokenized card returned by Apple.
                      
                      It usually contains the brand and the last four digits of the underlying card.
                      There is no standard format.
                  example: Visa 1256
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                dynamicLastFour:
                  type: string
                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                issuerCountry:
                  type: string
                  description: Country where the underlying card was issued.
                  example: US
              description: Describes an Apple Pay token on a Moov account.
            terminalCard:
              type: object
              properties:
                entryMode:
                  type: string
                  enum:
                    - contactless
                  description: How the card information was entered into the point of sale terminal.
                  example: contactless
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                applicationID:
                  type: string
                  description: Identifier for the point of sale terminal application.
                applicationName:
                  type: string
                  description: Name label for the point of sale terminal application.
              description: Describes payment card details captured with tap or in-person payment.
              example:
                entryMode: contactless
                brand: Visa
                bin: '123456'
                cardType: credit
                expiration:
                  month: '01'
                  year: '21'
                fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                holderName: Jules Jackson
                issuer: GRINGOTTS BANK
                issuerCountry: US
                lastFourCardNumber: '1234'
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - canceled
                    - settled
                    - failed
                    - completed
                  description: Status of a transaction within the card payment lifecycle.
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
                transactionSource:
                  type: string
                  enum:
                    - first-recurring
                    - recurring
                    - unscheduled
                  description: |-
                    Specifies the nature and initiator of a transaction. 

                    Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                    Omit for customer-initiated e-commerce transactions.
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                canceledOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                interchangeQualification:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  deprecated: true
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                feeProgram:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                authorizationCode:
                  type: string
                  description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
              description: Card-specific details about the transaction.
            achDetails:
              type: object
              required:
                - status
                - traceNumber
              properties:
                status:
                  type: string
                  enum:
                    - ''
                    - initiated
                    - originated
                    - corrected
                    - returned
                    - completed
                    - canceled
                  description: Status of a transaction within the ACH lifecycle.
                traceNumber:
                  type: string
                  maxLength: 15
                  example: '124782618117'
                return:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                correction:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
                secCode:
                  type: string
                  enum:
                    - WEB
                    - PPD
                    - CCD
                    - TEL
                  description: Code used to identify the ACH authorization method.
                canceledOn:
                  type: string
                  format: date-time
                initiatedOn:
                  type: string
                  format: date-time
                originatedOn:
                  type: string
                  format: date-time
                correctedOn:
                  type: string
                  format: date-time
                returnedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                debitHoldPeriod:
                  type: string
                  enum:
                    - no-hold
                    - 1-day
                    - 2-days
                  description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                  example: 2-days
              description: ACH specific details about the transaction.
        destination:
          type: object
          required:
            - paymentMethodID
            - paymentMethodType
            - account
          properties:
            paymentMethodID:
              type: string
            paymentMethodType:
              type: string
              enum:
                - moov-wallet
                - ach-debit-fund
                - ach-debit-collect
                - ach-credit-standard
                - ach-credit-same-day
                - rtp-credit
                - card-payment
                - push-to-card
                - pull-from-card
                - apple-pay
                - card-present-payment
              description: The payment method type that represents a payment rail and directionality
            account:
              type: object
              required:
                - accountID
                - email
                - displayName
              properties:
                accountID:
                  type: string
                email:
                  type: string
                displayName:
                  type: string
            bankAccount:
              type: object
              required:
                - bankAccountID
                - fingerprint
                - status
                - holderName
                - holderType
                - bankName
                - bankAccountType
                - routingNumber
                - lastFourAccountNumber
                - updatedOn
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Once the bank account is linked, we don't reveal the full bank account number.

                    The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                holderName:
                  type: string
                holderType:
                  type: string
                  enum:
                    - individual
                    - business
                    - guest
                  description: The type of holder on a funding source.
                bankName:
                  type: string
                bankAccountType:
                  type: string
                  enum:
                    - checking
                    - savings
                    - general-ledger
                    - loan
                  description: The bank account type.
                routingNumber:
                  type: string
                lastFourAccountNumber:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
              description: A bank account as contained within a payment method.
            wallet:
              type: object
              required:
                - walletID
                - partnerAccountID
                - walletType
              properties:
                walletID:
                  type: string
                  format: uuid
                partnerAccountID:
                  type: string
                  format: uuid
                walletType:
                  type: string
                  enum:
                    - default
                    - general
                  description: |-
                    Type of a wallet.
                      - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                      - `general`: An additional, user-defined wallet created via API or Dashboard.
            card:
              type: object
              required:
                - cardID
                - fingerprint
                - brand
                - cardType
                - lastFourCardNumber
                - bin
                - expiration
                - billingAddress
                - cardVerification
              properties:
                cardID:
                  type: string
                  format: uuid
                  description: ID of the card.
                  example: 01234567-89ab-cdef-0123-456789abcdef
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                lastFourCardNumber:
                  type: string
                  minLength: 4
                  maxLength: 4
                  description: Last four digits of the card number
                bin:
                  type: string
                  minLength: 6
                  maxLength: 8
                  description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                holderName:
                  type: string
                  description: The name of the cardholder as it appears on the card.
                billingAddress:
                  type: object
                  required:
                    - postalCode
                  properties:
                    addressLine1:
                      type: string
                      maxLength: 60
                    addressLine2:
                      type: string
                      maxLength: 32
                    city:
                      type: string
                      maxLength: 32
                    stateOrProvince:
                      type: string
                      maxLength: 2
                    postalCode:
                      type: string
                      maxLength: 10
                    country:
                      type: string
                      maxLength: 2
                  example:
                    addressLine1: 123 Main Street
                    addressLine2: Apt 302
                    city: Boulder
                    stateOrProvince: CO
                    postalCode: '80301'
                    country: US
                cardVerification:
                  type: object
                  required:
                    - cvv
                    - addressLine1
                    - postalCode
                  properties:
                    cvv:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    addressLine1:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    postalCode:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    accountName:
                      type: object
                      properties:
                        firstName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        lastName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        middleName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                        fullName:
                          type: string
                          enum:
                            - noMatch
                            - match
                            - notChecked
                            - unavailable
                            - partialMatch
                          example: match
                      description: The results of submitting cardholder name to a card network for verification.
                      example:
                        firstName: match
                        lastName: match
                        middleName: match
                        fullName: match
                  description: The results of submitting cardholder data to a card network for verification.
                  example:
                    cvv: match
                    addressLine1: match
                    postalCode: match
                    accountName:
                      firstName: match
                      lastName: match
                      middleName: match
                      fullName: match
                issuer:
                  type: string
                  description: Financial institution that issued the card.
                issuerCountry:
                  type: string
                  description: Country where the card was issued.
                cardOnFile:
                  type: boolean
                  description: Indicates cardholder has authorized card to be stored for future payments.
                merchantAccountID:
                  type: string
                  format: uuid
                cardAccountUpdater:
                  type: object
                  properties:
                    updatedOn:
                      type: string
                      format: date-time
                    updateType:
                      type: string
                      enum:
                        - unspecified
                        - account-closed
                        - contact-cardholder
                        - expiration-update
                        - no-change
                        - no-match
                        - number-update
                      description: The results of the card update request.
                      example: number-update
                  description: The results of the most recent card update request.
                  example:
                    updatedOn: '2024-05-06T12:20:38.184Z'
                    updateType: number-update
                domesticPushToCard:
                  type: string
                  enum:
                    - not-supported
                    - standard
                    - fast-funds
                    - unknown
                  description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                  example: standard
                domesticPullFromCard:
                  type: string
                  enum:
                    - not-supported
                    - supported
                    - unknown
                  description: Indicates if the card supports domestic pull-from-card transfer.
                  example: supported
              description: A card as contained within a payment method.
            achDetails:
              type: object
              required:
                - status
                - traceNumber
              properties:
                status:
                  type: string
                  enum:
                    - ''
                    - initiated
                    - originated
                    - corrected
                    - returned
                    - completed
                    - canceled
                  description: Status of a transaction within the ACH lifecycle.
                traceNumber:
                  type: string
                  maxLength: 15
                  example: '124782618117'
                return:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                correction:
                  type: object
                  properties:
                    code:
                      type: string
                    reason:
                      type: string
                    description:
                      type: string
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
                secCode:
                  type: string
                  enum:
                    - WEB
                    - PPD
                    - CCD
                    - TEL
                  description: Code used to identify the ACH authorization method.
                canceledOn:
                  type: string
                  format: date-time
                initiatedOn:
                  type: string
                  format: date-time
                originatedOn:
                  type: string
                  format: date-time
                correctedOn:
                  type: string
                  format: date-time
                returnedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                debitHoldPeriod:
                  type: string
                  enum:
                    - no-hold
                    - 1-day
                    - 2-days
                  description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
                  example: 2-days
              description: ACH specific details about the transaction.
            applePay:
              type: object
              required:
                - brand
                - cardType
                - cardDisplayName
                - fingerprint
                - expiration
                - dynamicLastFour
              properties:
                brand:
                  type: string
                  enum:
                    - American Express
                    - Discover
                    - Mastercard
                    - Visa
                    - Unknown
                  description: The card brand.
                  example: Visa
                cardType:
                  type: string
                  enum:
                    - debit
                    - credit
                    - prepaid
                    - unknown
                  description: The type of the card.
                  example: credit
                cardDisplayName:
                  type: string
                  description: |2-
                      User-friendly name of the tokenized card returned by Apple.
                      
                      It usually contains the brand and the last four digits of the underlying card.
                      There is no standard format.
                  example: Visa 1256
                fingerprint:
                  type: string
                  maxLength: 100
                  description: |-
                    Uniquely identifies a linked payment card or token.
                    For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                    This field can be used to identify specific payment methods across multiple accounts on your platform.
                  example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                expiration:
                  type: object
                  required:
                    - month
                    - year
                  properties:
                    month:
                      type: string
                      minLength: 2
                      maxLength: 2
                    year:
                      type: string
                      minLength: 2
                      maxLength: 2
                  description: The expiration date of the card or token.
                  example:
                    month: '01'
                    year: '21'
                dynamicLastFour:
                  type: string
                  description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                issuerCountry:
                  type: string
                  description: Country where the underlying card was issued.
                  example: US
              description: Describes an Apple Pay token on a Moov account.
            cardDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - confirmed
                    - canceled
                    - settled
                    - failed
                    - completed
                  description: Status of a transaction within the card payment lifecycle.
                failureCode:
                  type: string
                  enum:
                    - call-issuer
                    - do-not-honor
                    - processing-error
                    - invalid-transaction
                    - invalid-amount
                    - no-such-issuer
                    - reenter-transaction
                    - cvv-mismatch
                    - lost-or-stolen
                    - insufficient-funds
                    - invalid-card-number
                    - invalid-merchant
                    - expired-card
                    - incorrect-pin
                    - transaction-not-allowed
                    - suspected-fraud
                    - amount-limit-exceeded
                    - velocity-limit-exceeded
                    - revocation-of-authorization
                    - card-not-activated
                    - issuer-not-available
                    - could-not-route
                    - cardholder-account-closed
                    - unknown-issue
                    - duplicate-transaction
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
                transactionSource:
                  type: string
                  enum:
                    - first-recurring
                    - recurring
                    - unscheduled
                  description: |-
                    Specifies the nature and initiator of a transaction. 

                    Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                    Omit for customer-initiated e-commerce transactions.
                initiatedOn:
                  type: string
                  format: date-time
                confirmedOn:
                  type: string
                  format: date-time
                settledOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                canceledOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                interchangeQualification:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  deprecated: true
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                feeProgram:
                  type: string
                  description: The program assigned by the card network that determines the interchange rate for the transfer.
                  example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
                authorizationCode:
                  type: string
                  description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
              description: Card-specific details about the transaction.
            rtpDetails:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - initiated
                    - completed
                    - failed
                    - accepted-without-posting
                  description: Status of a transaction within the RTP lifecycle.
                networkResponseCode:
                  type: string
                  description: Response code returned by network on failure.
                failureCode:
                  type: string
                  enum:
                    - processing-error
                    - invalid-account
                    - account-closed
                    - account-blocked
                    - invalid-field
                    - transaction-not-supported
                    - limit-exceeded
                    - invalid-amount
                    - customer-deceased
                    - other
                  description: Status codes for RTP failures.
                initiatedOn:
                  type: string
                  format: date-time
                completedOn:
                  type: string
                  format: date-time
                failedOn:
                  type: string
                  format: date-time
                acceptedWithoutPostingOn:
                  type: string
                  format: date-time
              description: RTP specific details about the transaction.
        completedOn:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
            - reversed
            - queued
            - canceled
          description: Status of a transfer.
        failureReason:
          type: string
          enum:
            - source-payment-error
            - destination-payment-error
            - wallet-insufficient-funds
            - rejected-high-risk
            - processing-error
          description: Reason for a transfer's failure.
        amount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        description:
          type: string
          maxLength: 128
          description: An optional description of the transfer that is used on receipts and for your own internal use.
          example: Pay Instructor for May 15 Class
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        facilitatorFee:
          type: object
          properties:
            total:
              type: integer
              format: int64
              description: Total facilitator fee in cents. Only either `total` or `totalDecimal` can be set.
            totalDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `total`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.

                Only either `total` or `totalDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '12.987654321'
            markup:
              type: integer
              format: int64
              description: Markup facilitator fee in cents. Only either `markup` or `markupDecimal` can be set.
            markupDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
              description: |-
                Same as `markup`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
                Only either `markup` or `markupDecimal` can be set. Set this field if you expect the fee to be in fractions of a cent.
              example: '0.987654321'
          description: Total or markup fee.
        moovFee:
          type: integer
          format: int64
          description: Fees charged to your platform account for transfers.
        moovFeeDecimal:
          type: string
          description: Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision.
        moovFeeDetails:
          type: object
          required:
            - moovProcessing
          properties:
            cardScheme:
              type: string
              description: Card scheme fees accrued during authorization and settlement. String type represents dollars with up to 9 decimal place precision.
            interchange:
              type: string
              description: Network interchange fee for Visa, Mastercard, or Discover. String type represents dollars with up to 9 decimal place precision.
            discount:
              type: string
              description: Network discount fee for American Express. String type represents dollars with up to 9 decimal place precision.
            moovProcessing:
              type: string
              description: Moov processing fee. String type represents dollars with up to 9 decimal place precision.
          description: Processing and pass-through costs that add up to the moovFee.
        moovFees:
          type: array
          items:
            type: object
            required:
              - accountID
              - transferParty
              - totalAmount
              - feeIDs
            properties:
              accountID:
                type: string
                description: ID of the account that fees were charged to.
              transferParty:
                allOf:
                  - type: string
                    enum:
                      - source
                      - destination
                      - partner
                description: Indicates whether the account charged was the partner, source, or destination of the transfer.
              totalAmount:
                allOf:
                  - type: object
                    required:
                      - currency
                      - valueDecimal
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      valueDecimal:
                        type: string
                        pattern: ^\d+\.\d{1,9}$
                        description: |-
                          A decimal-formatted numerical string that represents up to 9 decimal place precision. 

                          For example, $12.987654321 is '12.987654321'.
                        example: '12.987654321'
                description: The total amount of fees charged to the account.
              feeIDs:
                type: array
                items:
                  type: string
                description: List of fee IDs that sum to the totalAmount.
            description: Moov fee charged to an account involved in a transfer.
          description: Fees charged to accounts involved in the transfer.
        groupID:
          type: string
        cancellations:
          type: array
          items:
            type: object
            required:
              - cancellationID
              - status
              - createdOn
            properties:
              cancellationID:
                type: string
              status:
                type: string
                enum:
                  - pending
                  - completed
                  - failed
              createdOn:
                type: string
                format: date-time
        refundedAmount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        refunds:
          type: array
          items:
            type: object
            required:
              - refundID
              - createdOn
              - updatedOn
              - status
              - amount
            properties:
              refundID:
                type: string
                format: uuid
                description: Identifier for the refund.
              createdOn:
                type: string
                format: date-time
              updatedOn:
                type: string
                format: date-time
              status:
                type: string
                enum:
                  - created
                  - pending
                  - completed
                  - failed
              amount:
                type: object
                required:
                  - currency
                  - value
                properties:
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  value:
                    type: integer
                    format: int64
                    description: |-
                      Quantity in the smallest unit of the specified currency. 

                      In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    example: 1204
              cardDetails:
                type: object
                required:
                  - status
                properties:
                  status:
                    type: string
                    enum:
                      - initiated
                      - confirmed
                      - settled
                      - failed
                      - completed
                  failureCode:
                    type: string
                    enum:
                      - call-issuer
                      - do-not-honor
                      - processing-error
                      - invalid-transaction
                      - invalid-amount
                      - no-such-issuer
                      - reenter-transaction
                      - cvv-mismatch
                      - lost-or-stolen
                      - insufficient-funds
                      - invalid-card-number
                      - invalid-merchant
                      - expired-card
                      - incorrect-pin
                      - transaction-not-allowed
                      - suspected-fraud
                      - amount-limit-exceeded
                      - velocity-limit-exceeded
                      - revocation-of-authorization
                      - card-not-activated
                      - issuer-not-available
                      - could-not-route
                      - cardholder-account-closed
                      - unknown-issue
                      - duplicate-transaction
                  initiatedOn:
                    type: string
                    format: date-time
                  confirmedOn:
                    type: string
                    format: date-time
                  settledOn:
                    type: string
                    format: date-time
                  failedOn:
                    type: string
                    format: date-time
                  completedOn:
                    type: string
                    format: date-time
            description: Details of a card refund.
            title: Sync
        disputedAmount:
          type: object
          required:
            - currency
            - value
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        disputes:
          type: array
          items:
            type: object
            required:
              - disputeID
              - createdOn
              - amount
            properties:
              disputeID:
                type: string
                format: uuid
              createdOn:
                type: string
                format: date-time
              amount:
                type: object
                required:
                  - currency
                  - value
                properties:
                  currency:
                    type: string
                    pattern: ^[A-Za-z]{3}$
                    description: A 3-letter ISO 4217 currency code.
                    example: USD
                  value:
                    type: integer
                    format: int64
                    description: |-
                      Quantity in the smallest unit of the specified currency. 

                      In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                    example: 1204
            description: Details of a card dispute.
        sweepID:
          type: string
        scheduleID:
          type: string
        occurrenceID:
          type: string
        paymentLinkCode:
          type: string
        salesTaxAmount:
          allOf:
            - type: object
              required:
                - currency
                - value
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
          description: Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
        foreignID:
          type: string
          description: Optional alias from a foreign/external system which can be used to reference this resource.
      description: Details of a Transfer.
      title: Sync
      example:
        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'
        moovFees:
          - accountID: 7e4b26c2-b399-49ef-8390-50e1ea44d550
            transferParty: source
            totalAmount:
              currency: USD
              valueDecimal: '0.1'
            feeIDs:
              - 9d957d33-1a9a-47aa-9460-fe1a90f003dd
    TransferAccount:
      type: object
      required:
        - accountID
        - email
        - displayName
      properties:
        accountID:
          type: string
        email:
          type: string
        displayName:
          type: string
    TransferDestination:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - account
      properties:
        paymentMethodID:
          type: string
        paymentMethodType:
          type: string
          enum:
            - moov-wallet
            - ach-debit-fund
            - ach-debit-collect
            - ach-credit-standard
            - ach-credit-same-day
            - rtp-credit
            - card-payment
            - push-to-card
            - pull-from-card
            - apple-pay
            - card-present-payment
          description: The payment method type that represents a payment rail and directionality
        account:
          type: object
          required:
            - accountID
            - email
            - displayName
          properties:
            accountID:
              type: string
            email:
              type: string
            displayName:
              type: string
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
        wallet:
          type: object
          required:
            - walletID
            - partnerAccountID
            - walletType
          properties:
            walletID:
              type: string
              format: uuid
            partnerAccountID:
              type: string
              format: uuid
            walletType:
              type: string
              enum:
                - default
                - general
              description: |-
                Type of a wallet.
                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                  - `general`: An additional, user-defined wallet created via API or Dashboard.
        card:
          type: object
          required:
            - cardID
            - fingerprint
            - brand
            - cardType
            - lastFourCardNumber
            - bin
            - expiration
            - billingAddress
            - cardVerification
          properties:
            cardID:
              type: string
              format: uuid
              description: ID of the card.
              example: 01234567-89ab-cdef-0123-456789abcdef
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            bin:
              type: string
              minLength: 6
              maxLength: 8
              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            billingAddress:
              type: object
              required:
                - postalCode
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                addressLine2:
                  type: string
                  maxLength: 32
                city:
                  type: string
                  maxLength: 32
                stateOrProvince:
                  type: string
                  maxLength: 2
                postalCode:
                  type: string
                  maxLength: 10
                country:
                  type: string
                  maxLength: 2
              example:
                addressLine1: 123 Main Street
                addressLine2: Apt 302
                city: Boulder
                stateOrProvince: CO
                postalCode: '80301'
                country: US
            cardVerification:
              type: object
              required:
                - cvv
                - addressLine1
                - postalCode
              properties:
                cvv:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                addressLine1:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                postalCode:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                accountName:
                  type: object
                  properties:
                    firstName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    lastName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    middleName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    fullName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                  description: The results of submitting cardholder name to a card network for verification.
                  example:
                    firstName: match
                    lastName: match
                    middleName: match
                    fullName: match
              description: The results of submitting cardholder data to a card network for verification.
              example:
                cvv: match
                addressLine1: match
                postalCode: match
                accountName:
                  firstName: match
                  lastName: match
                  middleName: match
                  fullName: match
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            cardOnFile:
              type: boolean
              description: Indicates cardholder has authorized card to be stored for future payments.
            merchantAccountID:
              type: string
              format: uuid
            cardAccountUpdater:
              type: object
              properties:
                updatedOn:
                  type: string
                  format: date-time
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
              description: The results of the most recent card update request.
              example:
                updatedOn: '2024-05-06T12:20:38.184Z'
                updateType: number-update
            domesticPushToCard:
              type: string
              enum:
                - not-supported
                - standard
                - fast-funds
                - unknown
              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
              example: standard
            domesticPullFromCard:
              type: string
              enum:
                - not-supported
                - supported
                - unknown
              description: Indicates if the card supports domestic pull-from-card transfer.
              example: supported
          description: A card as contained within a payment method.
        achDetails:
          type: object
          required:
            - status
            - traceNumber
          properties:
            status:
              type: string
              enum:
                - ''
                - initiated
                - originated
                - corrected
                - returned
                - completed
                - canceled
              description: Status of a transaction within the ACH lifecycle.
            traceNumber:
              type: string
              maxLength: 15
              example: '124782618117'
            return:
              type: object
              properties:
                code:
                  type: string
                reason:
                  type: string
                description:
                  type: string
            correction:
              type: object
              properties:
                code:
                  type: string
                reason:
                  type: string
                description:
                  type: string
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
            secCode:
              type: string
              enum:
                - WEB
                - PPD
                - CCD
                - TEL
              description: Code used to identify the ACH authorization method.
            canceledOn:
              type: string
              format: date-time
            initiatedOn:
              type: string
              format: date-time
            originatedOn:
              type: string
              format: date-time
            correctedOn:
              type: string
              format: date-time
            returnedOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
            debitHoldPeriod:
              type: string
              enum:
                - no-hold
                - 1-day
                - 2-days
              description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
              example: 2-days
          description: ACH specific details about the transaction.
        applePay:
          type: object
          required:
            - brand
            - cardType
            - cardDisplayName
            - fingerprint
            - expiration
            - dynamicLastFour
          properties:
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            cardDisplayName:
              type: string
              description: |2-
                  User-friendly name of the tokenized card returned by Apple.
                  
                  It usually contains the brand and the last four digits of the underlying card.
                  There is no standard format.
              example: Visa 1256
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            dynamicLastFour:
              type: string
              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
            issuerCountry:
              type: string
              description: Country where the underlying card was issued.
              example: US
          description: Describes an Apple Pay token on a Moov account.
        cardDetails:
          type: object
          required:
            - status
          properties:
            status:
              type: string
              enum:
                - initiated
                - confirmed
                - canceled
                - settled
                - failed
                - completed
              description: Status of a transaction within the card payment lifecycle.
            failureCode:
              type: string
              enum:
                - call-issuer
                - do-not-honor
                - processing-error
                - invalid-transaction
                - invalid-amount
                - no-such-issuer
                - reenter-transaction
                - cvv-mismatch
                - lost-or-stolen
                - insufficient-funds
                - invalid-card-number
                - invalid-merchant
                - expired-card
                - incorrect-pin
                - transaction-not-allowed
                - suspected-fraud
                - amount-limit-exceeded
                - velocity-limit-exceeded
                - revocation-of-authorization
                - card-not-activated
                - issuer-not-available
                - could-not-route
                - cardholder-account-closed
                - unknown-issue
                - duplicate-transaction
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
            transactionSource:
              type: string
              enum:
                - first-recurring
                - recurring
                - unscheduled
              description: |-
                Specifies the nature and initiator of a transaction. 

                Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                Omit for customer-initiated e-commerce transactions.
            initiatedOn:
              type: string
              format: date-time
            confirmedOn:
              type: string
              format: date-time
            settledOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            canceledOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
            interchangeQualification:
              type: string
              description: The program assigned by the card network that determines the interchange rate for the transfer.
              deprecated: true
              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
            feeProgram:
              type: string
              description: The program assigned by the card network that determines the interchange rate for the transfer.
              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
            authorizationCode:
              type: string
              description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
          description: Card-specific details about the transaction.
        rtpDetails:
          type: object
          required:
            - status
          properties:
            status:
              type: string
              enum:
                - initiated
                - completed
                - failed
                - accepted-without-posting
              description: Status of a transaction within the RTP lifecycle.
            networkResponseCode:
              type: string
              description: Response code returned by network on failure.
            failureCode:
              type: string
              enum:
                - processing-error
                - invalid-account
                - account-closed
                - account-blocked
                - invalid-field
                - transaction-not-supported
                - limit-exceeded
                - invalid-amount
                - customer-deceased
                - other
              description: Status codes for RTP failures.
            initiatedOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            acceptedWithoutPostingOn:
              type: string
              format: date-time
          description: RTP specific details about the transaction.
    TransferFailureReason:
      type: string
      enum:
        - source-payment-error
        - destination-payment-error
        - wallet-insufficient-funds
        - rejected-high-risk
        - processing-error
      description: Reason for a transfer's failure.
    TransferOptions:
      type: object
      properties:
        sourceOptions:
          type: array
          items:
            oneOf:
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - wallet
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - moov-wallet
                  wallet:
                    type: object
                    required:
                      - walletID
                      - partnerAccountID
                      - walletType
                    properties:
                      walletID:
                        type: string
                        format: uuid
                      partnerAccountID:
                        type: string
                        format: uuid
                      walletType:
                        type: string
                        enum:
                          - default
                          - general
                        description: |-
                          Type of a wallet.
                            - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                            - `general`: An additional, user-defined wallet created via API or Dashboard.
                title: Moov wallet
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-debit-fund
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH debit fund
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-debit-collect
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH debit collect
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-credit-standard
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH credit standard
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-credit-same-day
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH credit same day
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - rtp-credit
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: RTP credit
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - card-payment
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Card payment
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - push-to-card
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Push to card
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - pull-from-card
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Pull from card
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - applePay
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - apple-pay
                  applePay:
                    type: object
                    required:
                      - brand
                      - cardType
                      - cardDisplayName
                      - fingerprint
                      - expiration
                      - dynamicLastFour
                    properties:
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      cardDisplayName:
                        type: string
                        description: |2-
                            User-friendly name of the tokenized card returned by Apple.
                            
                            It usually contains the brand and the last four digits of the underlying card.
                            There is no standard format.
                        example: Visa 1256
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      dynamicLastFour:
                        type: string
                        description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                      issuerCountry:
                        type: string
                        description: Country where the underlying card was issued.
                        example: US
                    description: Describes an Apple Pay token on a Moov account.
                title: Apple Pay
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - card-present-payment
                  terminalCard:
                    type: object
                    properties:
                      entryMode:
                        type: string
                        enum:
                          - contactless
                        description: How the card information was entered into the point of sale terminal.
                        example: contactless
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      applicationID:
                        type: string
                        description: Identifier for the point of sale terminal application.
                      applicationName:
                        type: string
                        description: Name label for the point of sale terminal application.
                    description: Describes payment card details captured with tap or in-person payment.
                    example:
                      entryMode: contactless
                      brand: Visa
                      bin: '123456'
                      cardType: credit
                      expiration:
                        month: '01'
                        year: '21'
                      fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      holderName: Jules Jackson
                      issuer: GRINGOTTS BANK
                      issuerCountry: US
                      lastFourCardNumber: '1234'
                description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
            discriminator:
              propertyName: paymentMethodType
              mapping:
                moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
            description: A method of moving money
        destinationOptions:
          type: array
          items:
            oneOf:
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - wallet
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - moov-wallet
                  wallet:
                    type: object
                    required:
                      - walletID
                      - partnerAccountID
                      - walletType
                    properties:
                      walletID:
                        type: string
                        format: uuid
                      partnerAccountID:
                        type: string
                        format: uuid
                      walletType:
                        type: string
                        enum:
                          - default
                          - general
                        description: |-
                          Type of a wallet.
                            - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                            - `general`: An additional, user-defined wallet created via API or Dashboard.
                title: Moov wallet
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-debit-fund
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH debit fund
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-debit-collect
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH debit collect
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-credit-standard
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH credit standard
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - ach-credit-same-day
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: ACH credit same day
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - bankAccount
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - rtp-credit
                  bankAccount:
                    type: object
                    required:
                      - bankAccountID
                      - fingerprint
                      - status
                      - holderName
                      - holderType
                      - bankName
                      - bankAccountType
                      - routingNumber
                      - lastFourAccountNumber
                      - updatedOn
                    properties:
                      bankAccountID:
                        type: string
                        format: uuid
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Once the bank account is linked, we don't reveal the full bank account number.

                          The fingerprint acts as a way to identify whether two linked bank accounts are the same.
                      status:
                        type: string
                        enum:
                          - new
                          - verified
                          - verificationFailed
                          - pending
                          - errored
                      holderName:
                        type: string
                      holderType:
                        type: string
                        enum:
                          - individual
                          - business
                          - guest
                        description: The type of holder on a funding source.
                      bankName:
                        type: string
                      bankAccountType:
                        type: string
                        enum:
                          - checking
                          - savings
                          - general-ledger
                          - loan
                        description: The bank account type.
                      routingNumber:
                        type: string
                      lastFourAccountNumber:
                        type: string
                      updatedOn:
                        type: string
                        format: date-time
                    description: A bank account as contained within a payment method.
                title: RTP credit
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - card-payment
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Card payment
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - push-to-card
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Push to card
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - card
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - pull-from-card
                  card:
                    type: object
                    required:
                      - cardID
                      - fingerprint
                      - brand
                      - cardType
                      - lastFourCardNumber
                      - bin
                      - expiration
                      - billingAddress
                      - cardVerification
                    properties:
                      cardID:
                        type: string
                        format: uuid
                        description: ID of the card.
                        example: 01234567-89ab-cdef-0123-456789abcdef
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                        description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      billingAddress:
                        type: object
                        required:
                          - postalCode
                        properties:
                          addressLine1:
                            type: string
                            maxLength: 60
                          addressLine2:
                            type: string
                            maxLength: 32
                          city:
                            type: string
                            maxLength: 32
                          stateOrProvince:
                            type: string
                            maxLength: 2
                          postalCode:
                            type: string
                            maxLength: 10
                          country:
                            type: string
                            maxLength: 2
                        example:
                          addressLine1: 123 Main Street
                          addressLine2: Apt 302
                          city: Boulder
                          stateOrProvince: CO
                          postalCode: '80301'
                          country: US
                      cardVerification:
                        type: object
                        required:
                          - cvv
                          - addressLine1
                          - postalCode
                        properties:
                          cvv:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          addressLine1:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          postalCode:
                            type: string
                            enum:
                              - noMatch
                              - match
                              - notChecked
                              - unavailable
                              - partialMatch
                            example: match
                          accountName:
                            type: object
                            properties:
                              firstName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              lastName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              middleName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                              fullName:
                                type: string
                                enum:
                                  - noMatch
                                  - match
                                  - notChecked
                                  - unavailable
                                  - partialMatch
                                example: match
                            description: The results of submitting cardholder name to a card network for verification.
                            example:
                              firstName: match
                              lastName: match
                              middleName: match
                              fullName: match
                        description: The results of submitting cardholder data to a card network for verification.
                        example:
                          cvv: match
                          addressLine1: match
                          postalCode: match
                          accountName:
                            firstName: match
                            lastName: match
                            middleName: match
                            fullName: match
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      cardOnFile:
                        type: boolean
                        description: Indicates cardholder has authorized card to be stored for future payments.
                      merchantAccountID:
                        type: string
                        format: uuid
                      cardAccountUpdater:
                        type: object
                        properties:
                          updatedOn:
                            type: string
                            format: date-time
                          updateType:
                            type: string
                            enum:
                              - unspecified
                              - account-closed
                              - contact-cardholder
                              - expiration-update
                              - no-change
                              - no-match
                              - number-update
                            description: The results of the card update request.
                            example: number-update
                        description: The results of the most recent card update request.
                        example:
                          updatedOn: '2024-05-06T12:20:38.184Z'
                          updateType: number-update
                      domesticPushToCard:
                        type: string
                        enum:
                          - not-supported
                          - standard
                          - fast-funds
                          - unknown
                        description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
                        example: standard
                      domesticPullFromCard:
                        type: string
                        enum:
                          - not-supported
                          - supported
                          - unknown
                        description: Indicates if the card supports domestic pull-from-card transfer.
                        example: supported
                    description: A card as contained within a payment method.
                title: Pull from card
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                  - applePay
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - apple-pay
                  applePay:
                    type: object
                    required:
                      - brand
                      - cardType
                      - cardDisplayName
                      - fingerprint
                      - expiration
                      - dynamicLastFour
                    properties:
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      cardDisplayName:
                        type: string
                        description: |2-
                            User-friendly name of the tokenized card returned by Apple.
                            
                            It usually contains the brand and the last four digits of the underlying card.
                            There is no standard format.
                        example: Visa 1256
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      dynamicLastFour:
                        type: string
                        description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
                      issuerCountry:
                        type: string
                        description: Country where the underlying card was issued.
                        example: US
                    description: Describes an Apple Pay token on a Moov account.
                title: Apple Pay
              - type: object
                required:
                  - paymentMethodID
                  - paymentMethodType
                properties:
                  paymentMethodID:
                    type: string
                    format: uuid
                    description: ID of the payment method.
                  paymentMethodType:
                    type: string
                    enum:
                      - card-present-payment
                  terminalCard:
                    type: object
                    properties:
                      entryMode:
                        type: string
                        enum:
                          - contactless
                        description: How the card information was entered into the point of sale terminal.
                        example: contactless
                      brand:
                        type: string
                        enum:
                          - American Express
                          - Discover
                          - Mastercard
                          - Visa
                          - Unknown
                        description: The card brand.
                        example: Visa
                      bin:
                        type: string
                        minLength: 6
                        maxLength: 8
                      cardType:
                        type: string
                        enum:
                          - debit
                          - credit
                          - prepaid
                          - unknown
                        description: The type of the card.
                        example: credit
                      expiration:
                        type: object
                        required:
                          - month
                          - year
                        properties:
                          month:
                            type: string
                            minLength: 2
                            maxLength: 2
                          year:
                            type: string
                            minLength: 2
                            maxLength: 2
                        description: The expiration date of the card or token.
                        example:
                          month: '01'
                          year: '21'
                      fingerprint:
                        type: string
                        maxLength: 100
                        description: |-
                          Uniquely identifies a linked payment card or token.
                          For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                          This field can be used to identify specific payment methods across multiple accounts on your platform.
                        example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      holderName:
                        type: string
                        description: The name of the cardholder as it appears on the card.
                      issuer:
                        type: string
                        description: Financial institution that issued the card.
                      issuerCountry:
                        type: string
                        description: Country where the card was issued.
                      lastFourCardNumber:
                        type: string
                        minLength: 4
                        maxLength: 4
                        description: Last four digits of the card number
                      applicationID:
                        type: string
                        description: Identifier for the point of sale terminal application.
                      applicationName:
                        type: string
                        description: Name label for the point of sale terminal application.
                    description: Describes payment card details captured with tap or in-person payment.
                    example:
                      entryMode: contactless
                      brand: Visa
                      bin: '123456'
                      cardType: credit
                      expiration:
                        month: '01'
                        year: '21'
                      fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
                      holderName: Jules Jackson
                      issuer: GRINGOTTS BANK
                      issuerCountry: US
                      lastFourCardNumber: '1234'
                description: A card used at point of sale terminal for a card present transaction as contained within a payment method.
            discriminator:
              propertyName: paymentMethodType
              mapping:
                moov-wallet: '#/components/schemas/MoovWalletPaymentMethod'
                ach-debit-fund: '#/components/schemas/AchDebitFundPaymentMethod'
                ach-debit-collect: '#/components/schemas/AchDebitCollectPaymentMethod'
                ach-credit-standard: '#/components/schemas/AchCreditStandardPaymentMethod'
                ach-credit-same-day: '#/components/schemas/AchCreditSameDayPaymentMethod'
                rtp-credit: '#/components/schemas/RtpCreditPaymentMethod'
                card-payment: '#/components/schemas/CardPaymentPaymentMethod'
                push-to-card: '#/components/schemas/PushToCardPaymentMethod'
                pull-from-card: '#/components/schemas/PullFromCardPaymentMethod'
                apple-pay: '#/components/schemas/ApplePayPaymentMethod'
                card-present-payment: '#/components/schemas/CardPresentPaymentPaymentMethod'
            description: A method of moving money
    TransferOptionsValidationError:
      type: object
      properties:
        amount:
          type: string
        source:
          type: string
        destination:
          type: string
    TransferParty:
      type: string
      enum:
        - source
        - destination
        - partner
    TransferSource:
      type: object
      required:
        - paymentMethodID
        - paymentMethodType
        - account
      properties:
        transferID:
          type: string
          format: uuid
          description: UUID present only if the transfer is part of a transfer group.
        paymentMethodID:
          type: string
        paymentMethodType:
          type: string
          enum:
            - moov-wallet
            - ach-debit-fund
            - ach-debit-collect
            - ach-credit-standard
            - ach-credit-same-day
            - rtp-credit
            - card-payment
            - push-to-card
            - pull-from-card
            - apple-pay
            - card-present-payment
          description: The payment method type that represents a payment rail and directionality
        account:
          type: object
          required:
            - accountID
            - email
            - displayName
          properties:
            accountID:
              type: string
            email:
              type: string
            displayName:
              type: string
        bankAccount:
          type: object
          required:
            - bankAccountID
            - fingerprint
            - status
            - holderName
            - holderType
            - bankName
            - bankAccountType
            - routingNumber
            - lastFourAccountNumber
            - updatedOn
          properties:
            bankAccountID:
              type: string
              format: uuid
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Once the bank account is linked, we don't reveal the full bank account number.

                The fingerprint acts as a way to identify whether two linked bank accounts are the same.
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            holderName:
              type: string
            holderType:
              type: string
              enum:
                - individual
                - business
                - guest
              description: The type of holder on a funding source.
            bankName:
              type: string
            bankAccountType:
              type: string
              enum:
                - checking
                - savings
                - general-ledger
                - loan
              description: The bank account type.
            routingNumber:
              type: string
            lastFourAccountNumber:
              type: string
            updatedOn:
              type: string
              format: date-time
          description: A bank account as contained within a payment method.
        wallet:
          type: object
          required:
            - walletID
            - partnerAccountID
            - walletType
          properties:
            walletID:
              type: string
              format: uuid
            partnerAccountID:
              type: string
              format: uuid
            walletType:
              type: string
              enum:
                - default
                - general
              description: |-
                Type of a wallet.
                  - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
                  - `general`: An additional, user-defined wallet created via API or Dashboard.
        card:
          type: object
          required:
            - cardID
            - fingerprint
            - brand
            - cardType
            - lastFourCardNumber
            - bin
            - expiration
            - billingAddress
            - cardVerification
          properties:
            cardID:
              type: string
              format: uuid
              description: ID of the card.
              example: 01234567-89ab-cdef-0123-456789abcdef
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            bin:
              type: string
              minLength: 6
              maxLength: 8
              description: The first six to eight digits of the card number, which identifies the financial institution that issued the card.
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            billingAddress:
              type: object
              required:
                - postalCode
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                addressLine2:
                  type: string
                  maxLength: 32
                city:
                  type: string
                  maxLength: 32
                stateOrProvince:
                  type: string
                  maxLength: 2
                postalCode:
                  type: string
                  maxLength: 10
                country:
                  type: string
                  maxLength: 2
              example:
                addressLine1: 123 Main Street
                addressLine2: Apt 302
                city: Boulder
                stateOrProvince: CO
                postalCode: '80301'
                country: US
            cardVerification:
              type: object
              required:
                - cvv
                - addressLine1
                - postalCode
              properties:
                cvv:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                addressLine1:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                postalCode:
                  type: string
                  enum:
                    - noMatch
                    - match
                    - notChecked
                    - unavailable
                    - partialMatch
                  example: match
                accountName:
                  type: object
                  properties:
                    firstName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    lastName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    middleName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                    fullName:
                      type: string
                      enum:
                        - noMatch
                        - match
                        - notChecked
                        - unavailable
                        - partialMatch
                      example: match
                  description: The results of submitting cardholder name to a card network for verification.
                  example:
                    firstName: match
                    lastName: match
                    middleName: match
                    fullName: match
              description: The results of submitting cardholder data to a card network for verification.
              example:
                cvv: match
                addressLine1: match
                postalCode: match
                accountName:
                  firstName: match
                  lastName: match
                  middleName: match
                  fullName: match
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            cardOnFile:
              type: boolean
              description: Indicates cardholder has authorized card to be stored for future payments.
            merchantAccountID:
              type: string
              format: uuid
            cardAccountUpdater:
              type: object
              properties:
                updatedOn:
                  type: string
                  format: date-time
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
              description: The results of the most recent card update request.
              example:
                updatedOn: '2024-05-06T12:20:38.184Z'
                updateType: number-update
            domesticPushToCard:
              type: string
              enum:
                - not-supported
                - standard
                - fast-funds
                - unknown
              description: Indicates which level of domestic push-to-card transfer is supported by the card, if any.
              example: standard
            domesticPullFromCard:
              type: string
              enum:
                - not-supported
                - supported
                - unknown
              description: Indicates if the card supports domestic pull-from-card transfer.
              example: supported
          description: A card as contained within a payment method.
        applePay:
          type: object
          required:
            - brand
            - cardType
            - cardDisplayName
            - fingerprint
            - expiration
            - dynamicLastFour
          properties:
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            cardDisplayName:
              type: string
              description: |2-
                  User-friendly name of the tokenized card returned by Apple.
                  
                  It usually contains the brand and the last four digits of the underlying card.
                  There is no standard format.
              example: Visa 1256
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            dynamicLastFour:
              type: string
              description: The last four digits of the Apple Pay token, which may differ from the tokenized card's last four digits.
            issuerCountry:
              type: string
              description: Country where the underlying card was issued.
              example: US
          description: Describes an Apple Pay token on a Moov account.
        terminalCard:
          type: object
          properties:
            entryMode:
              type: string
              enum:
                - contactless
              description: How the card information was entered into the point of sale terminal.
              example: contactless
            brand:
              type: string
              enum:
                - American Express
                - Discover
                - Mastercard
                - Visa
                - Unknown
              description: The card brand.
              example: Visa
            bin:
              type: string
              minLength: 6
              maxLength: 8
            cardType:
              type: string
              enum:
                - debit
                - credit
                - prepaid
                - unknown
              description: The type of the card.
              example: credit
            expiration:
              type: object
              required:
                - month
                - year
              properties:
                month:
                  type: string
                  minLength: 2
                  maxLength: 2
                year:
                  type: string
                  minLength: 2
                  maxLength: 2
              description: The expiration date of the card or token.
              example:
                month: '01'
                year: '21'
            fingerprint:
              type: string
              maxLength: 100
              description: |-
                Uniquely identifies a linked payment card or token.
                For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
                This field can be used to identify specific payment methods across multiple accounts on your platform.
              example: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            holderName:
              type: string
              description: The name of the cardholder as it appears on the card.
            issuer:
              type: string
              description: Financial institution that issued the card.
            issuerCountry:
              type: string
              description: Country where the card was issued.
            lastFourCardNumber:
              type: string
              minLength: 4
              maxLength: 4
              description: Last four digits of the card number
            applicationID:
              type: string
              description: Identifier for the point of sale terminal application.
            applicationName:
              type: string
              description: Name label for the point of sale terminal application.
          description: Describes payment card details captured with tap or in-person payment.
          example:
            entryMode: contactless
            brand: Visa
            bin: '123456'
            cardType: credit
            expiration:
              month: '01'
              year: '21'
            fingerprint: 9948962d92a1ce40c9f918cd9ece3a22bde62fb325a2f1fe2e833969de672ba3
            holderName: Jules Jackson
            issuer: GRINGOTTS BANK
            issuerCountry: US
            lastFourCardNumber: '1234'
        cardDetails:
          type: object
          required:
            - status
          properties:
            status:
              type: string
              enum:
                - initiated
                - confirmed
                - canceled
                - settled
                - failed
                - completed
              description: Status of a transaction within the card payment lifecycle.
            failureCode:
              type: string
              enum:
                - call-issuer
                - do-not-honor
                - processing-error
                - invalid-transaction
                - invalid-amount
                - no-such-issuer
                - reenter-transaction
                - cvv-mismatch
                - lost-or-stolen
                - insufficient-funds
                - invalid-card-number
                - invalid-merchant
                - expired-card
                - incorrect-pin
                - transaction-not-allowed
                - suspected-fraud
                - amount-limit-exceeded
                - velocity-limit-exceeded
                - revocation-of-authorization
                - card-not-activated
                - issuer-not-available
                - could-not-route
                - cardholder-account-closed
                - unknown-issue
                - duplicate-transaction
            dynamicDescriptor:
              type: string
              minLength: 4
              maxLength: 22
              description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
              example: WhlBdy *Yoga 11-12
            transactionSource:
              type: string
              enum:
                - first-recurring
                - recurring
                - unscheduled
              description: |-
                Specifies the nature and initiator of a transaction. 

                Crucial for recurring and merchant-initiated transactions as per card scheme rules. 
                Omit for customer-initiated e-commerce transactions.
            initiatedOn:
              type: string
              format: date-time
            confirmedOn:
              type: string
              format: date-time
            settledOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            canceledOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
            interchangeQualification:
              type: string
              description: The program assigned by the card network that determines the interchange rate for the transfer.
              deprecated: true
              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
            feeProgram:
              type: string
              description: The program assigned by the card network that determines the interchange rate for the transfer.
              example: Visa Signature and Visa Infinite (Spend not-qualified) Product 1
            authorizationCode:
              type: string
              description: An alphanumeric code generated by the card network to demonstrate approval for the transaction.
          description: Card-specific details about the transaction.
        achDetails:
          type: object
          required:
            - status
            - traceNumber
          properties:
            status:
              type: string
              enum:
                - ''
                - initiated
                - originated
                - corrected
                - returned
                - completed
                - canceled
              description: Status of a transaction within the ACH lifecycle.
            traceNumber:
              type: string
              maxLength: 15
              example: '124782618117'
            return:
              type: object
              properties:
                code:
                  type: string
                reason:
                  type: string
                description:
                  type: string
            correction:
              type: object
              properties:
                code:
                  type: string
                reason:
                  type: string
                description:
                  type: string
            companyEntryDescription:
              type: string
              minLength: 4
              maxLength: 10
              description: An optional override of the default NACHA company entry description for a transfer.
              example: Gym dues
            originatingCompanyName:
              type: string
              minLength: 4
              maxLength: 16
              description: An optional override of the default NACHA company name for a transfer.
              example: Whole Body Fit
            secCode:
              type: string
              enum:
                - WEB
                - PPD
                - CCD
                - TEL
              description: Code used to identify the ACH authorization method.
            canceledOn:
              type: string
              format: date-time
            initiatedOn:
              type: string
              format: date-time
            originatedOn:
              type: string
              format: date-time
            correctedOn:
              type: string
              format: date-time
            returnedOn:
              type: string
              format: date-time
            failedOn:
              type: string
              format: date-time
            completedOn:
              type: string
              format: date-time
            debitHoldPeriod:
              type: string
              enum:
                - no-hold
                - 1-day
                - 2-days
              description: An optional override of your default ACH hold period in banking days. The hold period must be longer than or equal to your default setting.
              example: 2-days
          description: ACH specific details about the transaction.
    TransferStatus:
      type: string
      enum:
        - created
        - pending
        - completed
        - failed
        - reversed
        - queued
        - canceled
      description: Status of a transfer.
    TransferValidationError:
      type: object
      properties:
        amount:
          type: string
        source:
          type: string
        sourcePaymentMethodID:
          type: string
        destinationPaymentMethodID:
          type: string
        description:
          type: string
        FacilitatorFee.TotalDecimal:
          type: string
        FacilitatorFee.MarkupDecimal:
          type: string
        metadata:
          type: string
        salesTaxAmount:
          type: string
        foreignID:
          type: string
    TransferWaitFor:
      type: string
      enum:
        - rail-response
    Underwriting:
      type: object
      properties:
        averageTransactionSize:
          type: integer
          format: int64
        maxTransactionSize:
          type: integer
          format: int64
        averageMonthlyTransactionVolume:
          type: integer
          format: int64
        status:
          type: string
          enum:
            - approved
            - rejected
            - pendingReview
            - pending
            - notRequested
          deprecated: true
        volumeByCustomerType:
          type: object
          required:
            - businessToBusinessPercentage
            - consumerToBusinessPercentage
          properties:
            businessToBusinessPercentage:
              type: integer
              format: int32
            consumerToBusinessPercentage:
              type: integer
              format: int32
        cardVolumeDistribution:
          type: object
          required:
            - ecommercePercentage
            - cardPresentPercentage
            - mailOrPhonePercentage
            - debtRepaymentPercentage
          properties:
            ecommercePercentage:
              type: integer
              format: int32
            cardPresentPercentage:
              type: integer
              format: int32
            mailOrPhonePercentage:
              type: integer
              format: int32
            debtRepaymentPercentage:
              type: integer
              format: int32
        fulfillment:
          type: object
          required:
            - hasPhysicalGoods
            - isShippingProduct
            - shipmentDurationDays
            - returnPolicy
          properties:
            hasPhysicalGoods:
              type: boolean
            isShippingProduct:
              type: boolean
            shipmentDurationDays:
              type: integer
              format: int64
            returnPolicy:
              type: string
              enum:
                - none
                - exchangeOnly
                - withinThirtyDays
                - other
        geographicReach:
          type: string
          enum:
            - international-only
            - us-and-international
            - us-only
        businessPresence:
          type: string
          enum:
            - commercial-office
            - home-based
            - mixed-presence
            - mobile-business
            - online-only
            - retail-storefront
        pendingLitigation:
          type: string
          enum:
            - bankruptcy-or-insolvency
            - consumer-protection-or-class-action
            - data-breach-or-privacy
            - employment-or-workplace-disputes
            - fraud-or-financial-crime
            - government-enforcement-or-investigation
            - intellectual-property
            - none
            - other
            - personal-injury-or-medical
        volumeShareByCustomerType:
          type: object
          properties:
            business:
              type: integer
              format: int32
            consumer:
              type: integer
              format: int32
            p2p:
              type: integer
              format: int32
        collectFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            cardPayments:
              type: object
              properties:
                cardAcceptanceMethods:
                  type: object
                  properties:
                    inPersonPercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                    mailOrPhonePercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                    onlinePercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                  description: Describes the distribution of card transactions by payment method.
                currentlyAcceptsCards:
                  type: boolean
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
                fulfillment:
                  type: object
                  properties:
                    method:
                      type: string
                      enum:
                        - bill-or-debt-payment
                        - digital-content
                        - donation
                        - in-person-service
                        - local-pickup-or-delivery
                        - other
                        - remote-service
                        - shipped-physical-goods
                        - subscription-or-membership
                    timeframe:
                      type: string
                      enum:
                        - immediate
                        - other
                        - over-30-days
                        - pre-order
                        - recurring-schedule
                        - scheduled-event
                        - within-30-days
                        - within-7-days
                refundPolicy:
                  type: string
                  enum:
                    - conditional-refund
                    - custom-policy
                    - event-based-policy
                    - full-refund-extended-window
                    - full-refund-within-30-days
                    - no-refunds
                    - partial-refund
                    - prorated-refund
                    - store-credit-only
        moneyTransfer:
          type: object
          properties:
            pullFromCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
        sendFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            rtp:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            instantBank:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
      description: Describes underwriting values (in USD) used for card payment acceptance.
    UnderwritingStatus:
      type: string
      enum:
        - approved
        - rejected
        - pendingReview
        - pending
        - notRequested
      deprecated: true
    UpdateApplePayMerchantDomains:
      type: object
      properties:
        addDomains:
          type: array
          items:
            type: string
          description: A unique list of fully-qualified, top-level or sub-domain names to add.
          example:
            - pay.classbooker.dev
        removeDomains:
          type: array
          items:
            type: string
          description: A unique list of fully-qualified, top-level or sub-domain names to remove.
          example:
            - checkout.classbooker.dev
    UpdateBrand:
      type: object
      properties:
        colors:
          type: object
          properties:
            dark:
              type: object
              properties:
                accent:
                  type: string
            light:
              type: object
              properties:
                accent:
                  type: string
    UpdateCard:
      type: object
      properties:
        e2ee:
          type: object
          properties:
            token:
              type: string
              format: jwe
              description: An [RFC](https://datatracker.ietf.org/doc/html/rfc7516) compact-serialized JSON Web Encryption (JWE) token.
          description: |-
            Wraps a compact-serialized JSON Web Encryption (JWE) token used for secure transmission of sensitive data (e.g., PCI information) through intermediaries. 
            This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our 
            [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
          example:
            token: eyJhbGciOiJFQ0RILUVTK0EyNTZLVyIsImVuYyI6IkEyNTZHQ00iLCJlcGsiOnsia3R5IjoiRUMiLCJjcnYiOiJQLTUyMSIsIngiOiJBS0NYVDM1WVdvTm8wbzExNy1SU0dqUGg3alN1NjFmLUhnYkx1dW0xVG1ueTRlcW5yX2hyU0hpY0w1d3gwODRCWDBRZjVTdEtkRUoydzY2ZUJqWHprRV9OIiwieSI6IkFIMEJfT2RaYTQtbG43dGJ4M3VBdlc1NDNQRE9HUXBCTDloRFFNWjlTQXNfOW05UWN3dnhRd1hrb1VrM3VzT1FnVV9ySVFrNFRoZ1NTUzV4UlhKcm5ZaTkifSwia2lkIjoiYmRvV3pLekpKUGw0TVFIaENDa05WYTZlZ1dmYi02V1haSjZKTFZqQ0hWMD0ifQ.HalyoHsfufBJEODd2lD9ThQvvVWw3b2kgWDLHGxmHhMv8rODyLL_Ug.rpQP178t8Ed_pUU2.Sn9UFeVoegAxiMUv11q7l3M0y9YHSLYi2n_JB7n7Pc777_47-icfaxstJemT0IC81w.akkq1EBxzWkBr4vEomSpWA
        billingAddress:
          type: object
          properties:
            addressLine1:
              type: string
              maxLength: 60
            addressLine2:
              type: string
              maxLength: 32
            city:
              type: string
              maxLength: 32
            stateOrProvince:
              type: string
              maxLength: 2
            postalCode:
              type: string
              maxLength: 10
            country:
              type: string
              maxLength: 2
          example:
            addressLine1: 123 Main Street
            addressLine2: Apt 302
            city: Boulder
            stateOrProvince: CO
            postalCode: '80301'
            country: US
        expiration:
          type: object
          properties:
            month:
              type: string
            year:
              type: string
          example:
            month: '01'
            year: '21'
        cardCvv:
          type: string
        cardOnFile:
          type: boolean
        merchantAccountID:
          type: string
        verifyName:
          type: boolean
        holderName:
          type: string
      example:
        cardCvv: '456'
    UpdateCardAddress:
      type: object
      properties:
        addressLine1:
          type: string
          maxLength: 60
        addressLine2:
          type: string
          maxLength: 32
        city:
          type: string
          maxLength: 32
        stateOrProvince:
          type: string
          maxLength: 2
        postalCode:
          type: string
          maxLength: 10
        country:
          type: string
          maxLength: 2
      example:
        addressLine1: 123 Main Street
        addressLine2: Apt 302
        city: Boulder
        stateOrProvince: CO
        postalCode: '80301'
        country: US
    UpdateCardError:
      type: object
      properties:
        e2ee:
          type: object
          properties:
            token:
              type: string
        billingAddress:
          type: string
        expiration:
          type: string
        cardCvv:
          type: string
        cardOnFile:
          type: string
        merchantAccountID:
          type: string
        verifyName:
          type: string
        holderName:
          type: string
    UpdateCardExpiration:
      type: object
      properties:
        month:
          type: string
        year:
          type: string
      example:
        month: '01'
        year: '21'
    UpdateColor:
      type: object
      properties:
        accent:
          type: string
    UpdateColors:
      type: object
      properties:
        dark:
          type: object
          properties:
            accent:
              type: string
        light:
          type: object
          properties:
            accent:
              type: string
    UpdateEvidence:
      type: object
      properties:
        evidenceType:
          type: string
          enum:
            - receipt
            - proof-of-delivery
            - cancelation-policy
            - terms-of-service
            - customer-communication
            - generic-evidence
            - cover-letter
            - other
        text:
          type: string
          description: If updating text evidence, the new text to associate with the dispute.
    UpdateIssuedCard:
      type: object
      properties:
        state:
          type: string
          enum:
            - active
            - inactive
            - pending-verification
            - closed
          description: |-
            The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.

            - `active`: The card is operational and approves authorizations. Generally becomes active shortly after card creation.
            - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
            - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
            - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
        memo:
          type: string
        authorizedUser:
          type: object
          properties:
            firstName:
              type: string
            lastName:
              type: string
            birthDate:
              type: object
              properties:
                day:
                  type: integer
                  example: 9
                month:
                  type: integer
                  example: 11
                year:
                  type: integer
                  example: 1989
          description: Fields for identifying an authorized individual.
    UpdateIssuedCardError:
      type: object
      properties:
        state:
          type: string
        memo:
          type: string
        authorizedUser:
          type: object
          properties:
            firstName:
              type: string
            lastName:
              type: string
            birthDate:
              type: object
              properties:
                day:
                  type: string
                month:
                  type: string
                year:
                  type: string
    UpdatePaymentLink:
      type: object
      properties:
        amount:
          type: object
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
        expiresOn:
          type: string
          format: date-time
          nullable: true
        display:
          type: object
          properties:
            title:
              type: string
              description: The payment page title displayed to the user.
            description:
              type: string
              description: A payment description displayed to the user.
            callToAction:
              type: string
              enum:
                - pay
                - book
                - subscribe
                - donate
                - confirm
                - auto
              description: |-
                The text to be displayed on web form's submit button.

                If set to "auto" the UI will automatically select between 
                "pay" and "confirm" for payments and payouts respectively.
          description: Customizable display options for a payment link.
        customer:
          type: object
          properties:
            requireAddress:
              type: boolean
              description: If true, a billing address is required when completing the payment form.
            requirePhone:
              type: boolean
              description: If true, a phone number is required when completing the payment form.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Optional free-form metadata for the Moov account that will represent this customer.
        payment:
          type: object
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - apple-pay
                  - card-payment
                  - ach-debit-collect
                description: Payment methods allowed for collecting a payment.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
                  minLength: 4
                  maxLength: 22
                  description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                  example: WhlBdy *Yoga 11-12
              description: Options for payment links used to collect a card payment.
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                  minLength: 4
                  maxLength: 10
                  description: An optional override of the default NACHA company entry description for a transfer.
                  example: Gym dues
                originatingCompanyName:
                  type: string
                  minLength: 4
                  maxLength: 16
                  description: An optional override of the default NACHA company name for a transfer.
                  example: Whole Body Fit
              description: Options for payment links used to collect an ACH payment.
          description: Options for payment links used to collect payment.
        payout:
          type: object
          properties:
            allowedMethods:
              type: array
              items:
                type: string
                enum:
                  - push-to-card
                  - rtp-credit
                  - ach-credit-same-day
                  - ach-credit-standard
                description: Payment methods allowed for disbursing funds.
              minItems: 1
              description: A list of payment methods that should be supported for this payment link.
            recipient:
              type: object
              properties:
                email:
                  type: string
                  maxLength: 255
                  format: email
                  example: jordan.lee@classbooker.dev
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                      maxLength: 10
                      example: '8185551212'
                    countryCode:
                      type: string
                      maxLength: 1
                      example: '1'
              description: |-
                Specify the intended recipient of the payout.
                Either `email` or `phone` must be specified, but not both.

                This information will be used to authenticate the end user when they follow the payment link.
      example:
        amount:
          currency: USD
          value: 12099
        customer:
          requirePhone: true
          requireAddress: true
    UpdatePaymentLinkError:
      type: object
      properties:
        amount:
          type: object
          properties:
            currency:
              type: string
            value:
              type: string
        expiresOn:
          type: string
        display:
          type: object
          properties:
            title:
              type: string
            description:
              type: string
            callToAction:
              type: string
        payment:
          type: object
          properties:
            allowedMethods:
              type: string
            cardDetails:
              type: object
              properties:
                dynamicDescriptor:
                  type: string
            achDetails:
              type: object
              properties:
                companyEntryDescription:
                  type: string
                originatingCompanyName:
                  type: string
        payout:
          type: object
          properties:
            allowedMethods:
              type: string
            recipient:
              type: object
              properties:
                email:
                  type: string
                phone:
                  type: object
                  properties:
                    number:
                      type: string
                    countryCode:
                      type: string
    UpdateRepresentative:
      type: object
      properties:
        name:
          type: object
          properties:
            firstName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's first given name.
              example: Jordan
            middleName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's second given name, if any.
              example: Reese
            lastName:
              type: string
              maxLength: 64
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: The individual's family name.
              example: Lee
            suffix:
              type: string
              maxLength: 20
              pattern: '[À-ÖØ-öø-ÿ"''(),.0-9A-Za-z~ &!-]*'
              description: Suffix of a given name.
              example: Jr
        phone:
          type: object
          allOf:
            - type: object
              properties:
                number:
                  type: string
                  maxLength: 10
                  example: '8185551212'
                countryCode:
                  type: string
                  maxLength: 1
                  example: '1'
          nullable: true
        email:
          type: object
          allOf:
            - type: string
              maxLength: 255
              format: email
              example: jordan.lee@classbooker.dev
          nullable: true
        address:
          type: object
          allOf:
            - type: object
              properties:
                addressLine1:
                  type: string
                  maxLength: 60
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: 123 Main Street
                addressLine2:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Apt 302
                city:
                  type: string
                  maxLength: 32
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: Boulder
                stateOrProvince:
                  type: string
                  maxLength: 2
                  example: CO
                postalCode:
                  type: string
                  maxLength: 5
                  example: '80301'
                country:
                  type: string
                  maxLength: 2
                  example: US
          nullable: true
        birthDate:
          type: object
          allOf:
            - type: object
              properties:
                day:
                  type: integer
                  example: 9
                month:
                  type: integer
                  example: 11
                year:
                  type: integer
                  example: 1989
          nullable: true
        governmentID:
          type: object
          allOf:
            - type: object
              properties:
                ssn:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
                itin:
                  type: object
                  properties:
                    full:
                      type: string
                      pattern: ^\d{3}[-]?\d{2}[-]?\d{4}$
                    lastFour:
                      type: string
          nullable: true
        responsibilities:
          type: object
          allOf:
            - type: object
              properties:
                isController:
                  type: boolean
                  description: Indicates whether this individual has significant management responsibilities within the business.
                isOwner:
                  type: boolean
                  description: |-
                    If `true`, this field indicates that the individual has a business ownership stake of at least 25% in the
                    business. If the representative does not own at least 25% of the business, this field should be `false`.
                ownershipPercentage:
                  type: integer
                  description: The percentage of ownership this individual has in the business (required if `isOwner` is `true`).
                  example: 38
                jobTitle:
                  type: string
                  maxLength: 64
                  pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
                  example: CEO
              description: Describes the job responsibilities of a business representative.
          nullable: true
    UpdateTicket:
      type: object
      properties:
        status:
          type: string
          enum:
            - closed
      description: Request to update a support ticket.
    UpdateTicketError:
      type: object
      properties:
        status:
          type: string
    UpdateTicketStatus:
      type: string
      enum:
        - closed
    UpdateUnderwriting:
      type: object
      required:
        - averageTransactionSize
        - maxTransactionSize
        - averageMonthlyTransactionVolume
        - volumeByCustomerType
        - cardVolumeDistribution
        - fulfillment
      properties:
        averageTransactionSize:
          type: integer
          format: int64
        maxTransactionSize:
          type: integer
          format: int64
        averageMonthlyTransactionVolume:
          type: integer
          format: int64
        volumeByCustomerType:
          type: object
          required:
            - businessToBusinessPercentage
            - consumerToBusinessPercentage
          properties:
            businessToBusinessPercentage:
              type: integer
              format: int32
            consumerToBusinessPercentage:
              type: integer
              format: int32
        cardVolumeDistribution:
          type: object
          required:
            - ecommercePercentage
            - cardPresentPercentage
            - mailOrPhonePercentage
            - debtRepaymentPercentage
          properties:
            ecommercePercentage:
              type: integer
              format: int32
            cardPresentPercentage:
              type: integer
              format: int32
            mailOrPhonePercentage:
              type: integer
              format: int32
            debtRepaymentPercentage:
              type: integer
              format: int32
        fulfillment:
          type: object
          required:
            - hasPhysicalGoods
            - isShippingProduct
            - shipmentDurationDays
            - returnPolicy
          properties:
            hasPhysicalGoods:
              type: boolean
            isShippingProduct:
              type: boolean
            shipmentDurationDays:
              type: integer
              format: int64
            returnPolicy:
              type: string
              enum:
                - none
                - exchangeOnly
                - withinThirtyDays
                - other
    UpdateUnderwritingError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          properties:
            averageMonthlyTransactionVolume:
              type: string
            averageTransactionSize:
              type: string
            maxTransactionSize:
              type: string
            volumeByCustomerType:
              type: object
              properties:
                businessToBusinessPercentage:
                  type: string
                consumerToBusinessPercentage:
                  type: string
            cardVolumeDistribution:
              type: object
              properties:
                ecommercePercentage:
                  type: string
                cardPresentPercentage:
                  type: string
                mailOrPhonePercentage:
                  type: string
                debtRepaymentPercentage:
                  type: string
            fulfillment:
              type: object
              properties:
                shipmentDurationDays:
                  type: string
                returnPolicy:
                  type: string
    UpsertSchedule:
      type: object
      properties:
        description:
          type: string
          description: Simple description of what the schedule is.
        occurrences:
          type: array
          items:
            type: object
            properties:
              canceled:
                type: boolean
                description: If set to true, will cancel the occurrence. If set false will resume the occurrence. If unset leaves the value unchanged.
              occurrenceID:
                type: string
                format: uuid
                description: |2-
                    If set this defines what occurrence to modify, if invalid will fail the request. 
                    If null or "" it defines to add a new occurrence.
                example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
              runOn:
                type: string
                format: date-time
                description: Timestamp to run the transfer after. Value must be into the future.
                example: '2009-11-10T23:00:00Z'
              runTransfer:
                type: object
                required:
                  - amount
                  - destination
                  - partnerAccountID
                  - source
                  - description
                properties:
                  amount:
                    type: object
                    required:
                      - currency
                      - value
                    properties:
                      currency:
                        type: string
                        pattern: ^[A-Za-z]{3}$
                        description: A 3-letter ISO 4217 currency code.
                        example: USD
                      value:
                        type: integer
                        format: int64
                        description: |-
                          Quantity in the smallest unit of the specified currency. 

                          In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                        example: 1204
                  destination:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                  partnerAccountID:
                    type: string
                    format: uuid
                    example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                  source:
                    type: object
                    required:
                      - paymentMethodID
                    properties:
                      paymentMethodID:
                        type: string
                        format: uuid
                        example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                      achDetails:
                        type: object
                        properties:
                          companyEntryDescription:
                            type: string
                            minLength: 4
                            maxLength: 10
                            description: An optional override of the default NACHA company entry description for a transfer.
                            example: Gym dues
                          originatingCompanyName:
                            type: string
                            minLength: 4
                            maxLength: 16
                            description: An optional override of the default NACHA company name for a transfer.
                            example: Whole Body Fit
                      cardDetails:
                        type: object
                        properties:
                          dynamicDescriptor:
                            type: string
                            minLength: 4
                            maxLength: 22
                            description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                            example: WhlBdy *Yoga 11-12
                  description:
                    type: string
                    description: Simple description to place on the transfer.
                description: Defines the attributes of a transfer.
            description: Occurrences to either create or modify.
        recur:
          type: object
          required:
            - recurrenceRule
            - runTransfer
          properties:
            recurrenceRule:
              type: string
              description: |2-
                  RRule as defined by RFC 5545 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10). 
                  Generators available online at the following sites - https://freetools.textmagic.com/rrule-generator, https://jkbrzt.github.io/rrule/
            runTransfer:
              type: object
              required:
                - amount
                - destination
                - partnerAccountID
                - source
                - description
              properties:
                amount:
                  type: object
                  required:
                    - currency
                    - value
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                destination:
                  type: object
                  required:
                    - paymentMethodID
                  properties:
                    paymentMethodID:
                      type: string
                      format: uuid
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                partnerAccountID:
                  type: string
                  format: uuid
                  example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                source:
                  type: object
                  required:
                    - paymentMethodID
                  properties:
                    paymentMethodID:
                      type: string
                      format: uuid
                      example: c520f1b9-0ba7-42f5-b977-248cdbe41c69
                    achDetails:
                      type: object
                      properties:
                        companyEntryDescription:
                          type: string
                          minLength: 4
                          maxLength: 10
                          description: An optional override of the default NACHA company entry description for a transfer.
                          example: Gym dues
                        originatingCompanyName:
                          type: string
                          minLength: 4
                          maxLength: 16
                          description: An optional override of the default NACHA company name for a transfer.
                          example: Whole Body Fit
                    cardDetails:
                      type: object
                      properties:
                        dynamicDescriptor:
                          type: string
                          minLength: 4
                          maxLength: 22
                          description: An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
                          example: WhlBdy *Yoga 11-12
                description:
                  type: string
                  description: Simple description to place on the transfer.
              description: Defines the attributes of a transfer.
            indefinite:
              type: boolean
              description: True if the RRule set runs indefinitely.
            start:
              type: string
              format: date-time
              example: '2009-11-10T23:00:00Z'
          description: Defines configuration for recurring transfers.
    UpsertUnderwriting:
      type: object
      properties:
        geographicReach:
          type: string
          enum:
            - international-only
            - us-and-international
            - us-only
        businessPresence:
          type: string
          enum:
            - commercial-office
            - home-based
            - mixed-presence
            - mobile-business
            - online-only
            - retail-storefront
        pendingLitigation:
          type: string
          enum:
            - bankruptcy-or-insolvency
            - consumer-protection-or-class-action
            - data-breach-or-privacy
            - employment-or-workplace-disputes
            - fraud-or-financial-crime
            - government-enforcement-or-investigation
            - intellectual-property
            - none
            - other
            - personal-injury-or-medical
        volumeShareByCustomerType:
          type: object
          properties:
            business:
              type: integer
              format: int32
            consumer:
              type: integer
              format: int32
            p2p:
              type: integer
              format: int32
        collectFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            cardPayments:
              type: object
              properties:
                cardAcceptanceMethods:
                  type: object
                  properties:
                    inPersonPercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are in-person payments. Minimum value is 0, maximum is 100.
                    mailOrPhonePercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are mail or phone payments. Minimum value is 0, maximum is 100.
                    onlinePercentage:
                      type: integer
                      format: int32
                      description: Percentage of card transactions that are online payments. Minimum value is 0, maximum is 100.
                  description: Describes the distribution of card transactions by payment method.
                currentlyAcceptsCards:
                  type: boolean
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
                fulfillment:
                  type: object
                  properties:
                    method:
                      type: string
                      enum:
                        - bill-or-debt-payment
                        - digital-content
                        - donation
                        - in-person-service
                        - local-pickup-or-delivery
                        - other
                        - remote-service
                        - shipped-physical-goods
                        - subscription-or-membership
                    timeframe:
                      type: string
                      enum:
                        - immediate
                        - other
                        - over-30-days
                        - pre-order
                        - recurring-schedule
                        - scheduled-event
                        - within-30-days
                        - within-7-days
                refundPolicy:
                  type: string
                  enum:
                    - conditional-refund
                    - custom-policy
                    - event-based-policy
                    - full-refund-extended-window
                    - full-refund-within-30-days
                    - no-refunds
                    - partial-refund
                    - prorated-refund
                    - store-credit-only
        moneyTransfer:
          type: object
          properties:
            pullFromCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
        sendFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            rtp:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
            instantBank:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: integer
                      format: int64
                    maximumTransactionAmount:
                      type: integer
                      format: int64
                    monthlyVolumeRange:
                      type: string
                      enum:
                        - under-10k
                        - 10k-50k
                        - 50k-100k
                        - 100k-250k
                        - 250k-500k
                        - 500k-1m
                        - 1m-5m
                        - over-5m
                      description: The low value in each range is included. The high value in each range is excluded.
        submissionIntent:
          type: string
          enum:
            - wait
            - submit
    UpsertUnderwritingError:
      type: object
      properties:
        geographicReach:
          type: string
        businessPresence:
          type: string
        pendingLitigation:
          type: string
        volumeShareByCustomerType:
          type: object
          properties:
            business:
              type: string
            consumer:
              type: string
            p2p:
              type: string
        collectFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
            cardPayments:
              type: object
              properties:
                cardAcceptanceMethods:
                  type: object
                  properties:
                    inPersonPercentage:
                      type: string
                    mailOrPhonePercentage:
                      type: string
                    onlinePercentage:
                      type: string
                currentlyAcceptsCards:
                  type: string
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
                fulfillment:
                  type: object
                  properties:
                    method:
                      type: string
                    timeframe:
                      type: string
                refundPolicy:
                  type: string
        moneyTransfer:
          type: object
          properties:
            pullFromCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
        sendFunds:
          type: object
          properties:
            ach:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
            pushToCard:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
            rtp:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
            instantBank:
              type: object
              properties:
                estimatedActivity:
                  type: object
                  properties:
                    averageTransactionAmount:
                      type: string
                    maximumTransactionAmount:
                      type: string
                    monthlyVolumeRange:
                      type: string
        averageMonthlyTransactionVolume:
          type: string
        error:
          type: string
        averageTransactionSize:
          type: string
        maxTransactionSize:
          type: string
        volumeByCustomerType:
          type: object
          properties:
            businessToBusinessPercentage:
              type: string
            consumerToBusinessPercentage:
              type: string
        cardVolumeDistribution:
          type: object
          properties:
            ecommercePercentage:
              type: string
            cardPresentPercentage:
              type: string
            mailOrPhonePercentage:
              type: string
            debtRepaymentPercentage:
              type: string
        fulfillment:
          type: object
          properties:
            shipmentDurationDays:
              type: string
            returnPolicy:
              type: string
    Verification:
      type: object
      required:
        - status
      properties:
        verificationStatus:
          type: string
          enum:
            - unverified
            - pending
            - resubmit
            - review
            - verified
            - failed
          description: Possible states an account verification can be in.
          deprecated: true
        status:
          type: string
          enum:
            - unverified
            - pending
            - verified
            - errored
          description: Possible states an account verification can be in.
          deprecated: true
        details:
          type: string
          enum:
            - failedAutoVerify
            - docDobMismatch
            - docNameMismatch
            - docAddressMismatch
            - docNumberMismatch
            - docIncomplete
            - docFailedRisk
            - potentialAccountSanctionsMatch
            - potentialRepresentativeSanctionsMatch
            - failedOther
          description: Additional detail for a verification status.
          deprecated: true
        documents:
          type: array
          items:
            type: object
            required:
              - documentID
              - type
              - contentType
              - uploadedAt
            properties:
              documentID:
                type: string
                format: uuid
                example: e07e83e8-9429-4e99-ac99-c941f719eb39
              type:
                type: string
                enum:
                  - driversLicense
                  - passport
                  - utilityBill
                  - bankStatement
                description: Types of documents that can be uploaded.
                example: bankStatement
              contentType:
                type: string
                description: The document's MIME type.
                example: application/pdf
              parseErrors:
                type: array
                items:
                  type: string
                description: Optional array of errors encountered during automated parsing.
              uploadedAt:
                type: string
                format: date-time
                example: '2024-05-06T12:20:38.184Z'
      description: Describes identity verification status and relevant identity verification documents.
    VerificationStatus:
      type: string
      enum:
        - unverified
        - pending
        - verified
        - errored
      description: Possible states an account verification can be in.
      deprecated: true
    VerificationStatusDetail:
      type: string
      enum:
        - failedAutoVerify
        - docDobMismatch
        - docNameMismatch
        - docAddressMismatch
        - docNumberMismatch
        - docIncomplete
        - docFailedRisk
        - potentialAccountSanctionsMatch
        - potentialRepresentativeSanctionsMatch
        - failedOther
      description: Additional detail for a verification status.
      deprecated: true
    Versions:
      type: string
      enum:
        - v2024.01.00
        - v2025.01.00
        - v2025.04.00
        - v2025.07.00
        - v2025.10.00
        - latest
      description: |-
        Moov API versions. 

        API versioning follows the format `vYYYY.QQ.BB`, where 
          - `YYYY` is the year
          - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
          - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter. 
            - For example, `v2024.01.00` is the initial release of the first quarter of 2024.

        The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
    VolumeByCustomerType:
      type: object
      required:
        - businessToBusinessPercentage
        - consumerToBusinessPercentage
      properties:
        businessToBusinessPercentage:
          type: integer
          format: int32
        consumerToBusinessPercentage:
          type: integer
          format: int32
    VolumeByCustomerTypeError:
      type: object
      properties:
        businessToBusinessPercentage:
          type: string
        consumerToBusinessPercentage:
          type: string
    VolumeShareByCustomerType:
      type: object
      properties:
        business:
          type: integer
          format: int32
        consumer:
          type: integer
          format: int32
        p2p:
          type: integer
          format: int32
    VolumeShareByCustomerTypeError:
      type: object
      properties:
        business:
          type: string
        consumer:
          type: string
        p2p:
          type: string
    Wallet:
      type: object
      required:
        - walletID
        - availableBalance
        - partnerAccountID
        - name
        - status
        - walletType
        - description
        - createdOn
      properties:
        walletID:
          type: string
          format: uuid
        availableBalance:
          type: object
          required:
            - currency
            - value
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
        partnerAccountID:
          type: string
          format: uuid
        name:
          type: string
          description: Name of the wallet
        status:
          type: string
          enum:
            - active
            - closed
          description: |-
            Status of a wallet.
              - `active`: The wallet is available for use and has an enabled payment method.
              - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
        walletType:
          type: string
          enum:
            - default
            - general
          description: |-
            Type of a wallet.
              - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
              - `general`: An additional, user-defined wallet created via API or Dashboard.
        description:
          type: string
          description: Description of the wallet
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
          example:
            optional: metadata
        createdOn:
          type: string
          format: date-time
        closedOn:
          type: string
          format: date-time
      description: A Moov wallet to store funds for transfers.
    WalletAvailableBalance:
      type: object
      required:
        - currency
        - value
        - valueDecimal
      properties:
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        value:
          type: integer
          format: int64
          description: |-
            Quantity in the smallest unit of the specified currency. 

            In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
          example: 1204
        valueDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
    WalletID:
      type: string
      format: uuid
    WalletStatus:
      type: string
      enum:
        - active
        - closed
      description: |-
        Status of a wallet.
          - `active`: The wallet is available for use and has an enabled payment method.
          - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
    WalletTransaction:
      type: object
      required:
        - walletID
        - transactionID
        - transactionType
        - sourceType
        - sourceID
        - status
        - memo
        - createdOn
        - currency
        - grossAmount
        - grossAmountDecimal
        - fee
        - feeDecimal
        - netAmount
        - netAmountDecimal
      properties:
        walletID:
          type: string
          format: uuid
        transactionID:
          type: string
          format: uuid
        transactionType:
          type: string
          enum:
            - account-funding
            - ach-reversal
            - auto-sweep
            - card-payment
            - card-decline
            - card-reversal
            - cash-out
            - dispute
            - dispute-reversal
            - facilitator-fee
            - issuing-refund
            - issuing-transaction
            - issuing-transaction-adjustment
            - issuing-auth-hold
            - issuing-auth-release
            - issuing-decline
            - moov-fee
            - payment
            - payout
            - refund
            - refund-failure
            - rtp-failure
            - top-up
            - wallet-transfer
            - adjustment
            - fee-revenue
            - residual
        sourceType:
          type: string
          enum:
            - transfer
            - dispute
            - issuing-card-transaction
            - issuing-authorization
            - sweep
            - adjustment
            - fee
            - residual
        sourceID:
          type: string
          format: uuid
          description: The ID of the Moov object to which this transaction is related.
        status:
          type: string
          enum:
            - pending
            - completed
            - canceled
            - failed
        memo:
          type: string
          description: Detailed description of the transaction.
        createdOn:
          type: string
          format: date-time
        completedOn:
          type: string
          format: date-time
        currency:
          type: string
          pattern: ^[A-Za-z]{3}$
          description: A 3-letter ISO 4217 currency code.
          example: USD
        grossAmount:
          type: integer
          format: int64
          description: The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
        grossAmountDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: The total transaction amount. Same as `grossAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
        fee:
          type: integer
          format: int64
          description: Total fees paid for the transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
        feeIDs:
          type: array
          items:
            type: string
          description: The IDs of the fees paid for the transaction.
        feeDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: Total fees paid for the transaction. Same as `fee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
        netAmount:
          type: integer
          format: int64
          description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
        netAmountDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. Same as `netAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
        availableBalance:
          type: integer
          format: int64
          description: The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
        availableBalanceDecimal:
          type: string
          pattern: ^\d+\.\d{1,9}$
          description: The wallet's total available balance after recording a completed transaction. Same as `availableBalance`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.
        sweepID:
          type: string
          format: uuid
      description: A transaction that funds or deducts from the wallet.
    WalletTransactionID:
      type: string
      format: uuid
    WalletTransactionSourceType:
      type: string
      enum:
        - transfer
        - dispute
        - issuing-card-transaction
        - issuing-authorization
        - sweep
        - adjustment
        - fee
        - residual
    WalletTransactionStatus:
      type: string
      enum:
        - pending
        - completed
        - canceled
        - failed
    WalletTransactionType:
      type: string
      enum:
        - account-funding
        - ach-reversal
        - auto-sweep
        - card-payment
        - card-decline
        - card-reversal
        - cash-out
        - dispute
        - dispute-reversal
        - facilitator-fee
        - issuing-refund
        - issuing-transaction
        - issuing-transaction-adjustment
        - issuing-auth-hold
        - issuing-auth-release
        - issuing-decline
        - moov-fee
        - payment
        - payout
        - refund
        - refund-failure
        - rtp-failure
        - top-up
        - wallet-transfer
        - adjustment
        - fee-revenue
        - residual
    WalletType:
      type: string
      enum:
        - default
        - general
      description: |-
        Type of a wallet.
          - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
          - `general`: An additional, user-defined wallet created via API or Dashboard.
    WebhookBillingStatementCreated:
      type: object
      required:
        - statementID
      properties:
        statementID:
          type: string
          format: uuid
    WebhookData:
      oneOf:
        - type: object
          required:
            - accountID
          properties:
            accountID:
              type: string
              format: uuid
            foreignID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
          properties:
            accountID:
              type: string
              format: uuid
            foreignID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
          properties:
            accountID:
              type: string
              format: uuid
            foreignID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - walletID
          properties:
            accountID:
              type: string
              format: uuid
            walletID:
              type: string
              format: uuid
        - type: object
          required:
            - bankAccountID
            - accountID
          properties:
            bankAccountID:
              type: string
              format: uuid
            accountID:
              type: string
              format: uuid
        - type: object
          required:
            - bankAccountID
            - accountID
            - status
            - statusReason
          properties:
            bankAccountID:
              type: string
              format: uuid
            accountID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - new
                - verified
                - verificationFailed
                - pending
                - errored
            statusReason:
              type: string
              enum:
                - bank-account-created
                - verification-initiated
                - micro-deposit-attempts-exceeded
                - micro-deposit-expired
                - max-verification-failures
                - verification-attempts-exceeded
                - verification-expired
                - verification-successful
                - ach-debit-return
                - ach-credit-return
                - rtp-credit-failure
                - micro-deposit-return
                - admin-action
                - other
              description: The reason the bank account status changed to the current value.
            exceptionDetails:
              type: object
              required:
                - description
              properties:
                achReturnCode:
                  type: string
                  enum:
                    - R02
                    - R03
                    - R04
                    - R05
                    - R07
                    - R08
                    - R10
                    - R11
                    - R12
                    - R13
                    - R14
                    - R15
                    - R16
                    - R17
                    - R20
                    - R23
                    - R29
                    - R34
                    - R38
                    - R39
                  description: |-
                    The return code of an ACH transaction that caused the bank account status to change.

                    - R02: Account Closed
                    - R03: No Account/Unable to Locate Account
                    - R04: Invalid Account Number
                    - R05: Improper Debit to Consumer Account
                    - R07: Authorization Revoked by Customer
                    - R08: Payment Stopped
                    - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                    - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                    - R12: Branch Sold to Another DFI
                    - R13: RDFI not qualified to participate
                    - R14: Representative payee deceased or unable to continue in that capacity
                    - R15: Beneficiary or bank account holder
                    - R16: Bank account frozen
                    - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                    - R20: Non-payment bank account
                    - R23: Credit entry refused by receiver
                    - R29: Corporate customer advises not authorized
                    - R34: Limited participation RDFI
                    - R38: Stop Payment on Source Document (Adjustment Entry)
                    - R39: Improper Source Document
                rtpRejectionCode:
                  type: string
                  enum:
                    - AC03
                    - AC04
                    - AC06
                    - AC14
                    - AG01
                    - AG03
                    - MD07
                  description: |-
                    The rejection code of an RTP transaction that caused the bank account status to change.

                    - AC03: Account Invalid
                    - AC04: Account Closed
                    - AC06: Account Blocked
                    - AC14: Creditor Account Type Invalid
                    - AG01: Transactions Forbidden On Account
                    - AG03: Transaction Type Not Supported
                    - MD07: Customer Deceased
                description:
                  type: string
                  description: Details related to an `errored` or `verificationFailed` bank account status.
              description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
        - type: object
          required:
            - bankAccountID
            - accountID
          properties:
            bankAccountID:
              type: string
              format: uuid
            accountID:
              type: string
              format: uuid
        - type: object
          required:
            - cancellationID
            - transferID
            - status
          properties:
            cancellationID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - pending
                - completed
                - failed
        - type: object
          required:
            - cancellationID
            - transferID
            - status
          properties:
            cancellationID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - pending
                - completed
                - failed
        - type: object
          required:
            - cardID
            - accountID
            - updateType
          properties:
            cardID:
              type: string
              format: uuid
            accountID:
              type: string
              format: uuid
            updateType:
              type: string
              enum:
                - unspecified
                - account-closed
                - contact-cardholder
                - expiration-update
                - no-change
                - no-match
                - number-update
              description: The results of the card update request.
              example: number-update
        - type: object
          required:
            - accountID
            - capabilityID
          properties:
            accountID:
              type: string
              format: uuid
            foreignID:
              type: string
              format: uuid
            capabilityID:
              type: string
              enum:
                - transfers
                - send-funds
                - send-funds.push-to-card
                - money-transfer.push-to-card
                - send-funds.ach
                - send-funds.rtp
                - send-funds.instant-bank
                - collect-funds
                - collect-funds.card-payments
                - money-transfer.pull-from-card
                - collect-funds.ach
                - wallet
                - wallet.balance
                - card-issuing
                - production-app
                - platform.production-app
                - platform.wallet-transfers
              description: |-
                Moov account capabilities.

                The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
        - type: object
          required:
            - accountID
            - capabilityID
            - status
          properties:
            accountID:
              type: string
              format: uuid
            foreignID:
              type: string
              format: uuid
            capabilityID:
              type: string
              enum:
                - transfers
                - send-funds
                - send-funds.push-to-card
                - money-transfer.push-to-card
                - send-funds.ach
                - send-funds.rtp
                - send-funds.instant-bank
                - collect-funds
                - collect-funds.card-payments
                - money-transfer.pull-from-card
                - collect-funds.ach
                - wallet
                - wallet.balance
                - card-issuing
                - production-app
                - platform.production-app
                - platform.wallet-transfers
              description: |-
                Moov account capabilities.

                The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
            status:
              type: string
              enum:
                - enabled
                - disabled
                - pending
                - in-review
              description: The status of the capability requested for an account.
        - type: object
          required:
            - accountID
            - transferID
            - transactionID
            - disputeID
            - status
            - phase
          properties:
            accountID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            transactionID:
              type: string
              format: uuid
            disputeID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - response-needed
                - resolved
                - under-review
                - closed
                - accepted
                - expired
                - won
                - lost
              description: |-
                The status of a particular dispute. 

                Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
            phase:
              type: string
              enum:
                - pre-dispute
                - inquiry
                - chargeback
                - unknown
              description: The phase of a dispute within the dispute lifecycle.
        - type: object
          required:
            - accountID
            - transferID
            - transactionID
            - disputeID
            - status
            - phase
          properties:
            accountID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            transactionID:
              type: string
              format: uuid
            disputeID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - response-needed
                - resolved
                - under-review
                - closed
                - accepted
                - expired
                - won
                - lost
              description: |-
                The status of a particular dispute. 

                Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
            phase:
              type: string
              enum:
                - pre-dispute
                - inquiry
                - chargeback
                - unknown
              description: The phase of a dispute within the dispute lifecycle.
        - type: object
          required:
            - accountID
          properties:
            accountID:
              type: string
              format: uuid
            visaMid:
              type: string
            mastercardMid:
              type: string
            discoverMid:
              type: string
            amexMid:
              type: string
            updatedOn:
              type: string
              format: date-time
        - type: object
          required:
            - accountID
            - paymentMethodID
            - sourceID
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
            sourceID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - paymentMethodID
            - sourceID
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
            sourceID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - transferID
            - refundID
          properties:
            accountID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            refundID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - transferID
            - refundID
            - status
          properties:
            accountID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            refundID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - created
                - pending
                - completed
                - failed
        - type: object
          required:
            - accountID
            - representativeID
          properties:
            accountID:
              type: string
              format: uuid
            representativeID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - representativeID
          properties:
            accountID:
              type: string
              format: uuid
            representativeID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - representativeID
          properties:
            accountID:
              type: string
              format: uuid
            representativeID:
              type: string
              format: uuid
        - type: object
          required:
            - walletID
            - sweepID
          properties:
            walletID:
              type: string
              format: uuid
            sweepID:
              type: string
              format: uuid
        - type: object
          required:
            - walletID
            - sweepID
            - status
          properties:
            walletID:
              type: string
              format: uuid
            sweepID:
              type: string
              format: uuid
            transferID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - accruing
                - action-required
                - canceled
                - closed
                - failed
                - paid
        - type: object
          required:
            - terminalApplicationID
            - status
          properties:
            terminalApplicationID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - undefined
                - pending
                - enabled
                - disabled
              description: Status of the terminal application.
              example: enabled
        - type: object
          required:
            - terminalApplicationID
            - status
          properties:
            terminalApplicationID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - undefined
                - pending
                - enabled
                - disabled
              description: Status of the terminal application.
              example: enabled
        - type: object
          required:
            - accountID
            - ticketID
          properties:
            accountID:
              type: string
              format: uuid
            ticketID:
              type: string
              format: uuid
            foreignID:
              type: string
        - type: object
          required:
            - accountID
            - ticketID
            - status
          properties:
            accountID:
              type: string
              format: uuid
            ticketID:
              type: string
              format: uuid
            foreignID:
              type: string
            status:
              type: string
              enum:
                - new
                - in-progress
                - on-hold
                - closed
        - type: object
          required:
            - accountID
            - ticketID
          properties:
            accountID:
              type: string
              format: uuid
            ticketID:
              type: string
              format: uuid
            foreignID:
              type: string
        - type: object
          required:
            - accountID
            - transferID
            - status
          properties:
            accountID:
              type: string
              format: uuid
              description: The accountID which facilitated the transfer.
            transferID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - created
                - pending
                - completed
                - failed
                - reversed
                - queued
                - canceled
                - source.completed
                - source.corrected
                - source.initiated
                - source.returned
                - source.originated
                - source.confirmed
                - source.settled
                - source.failed
                - source.canceled
                - destination.completed
                - destination.corrected
                - destination.initiated
                - destination.returned
                - destination.originated
                - destination.confirmed
                - destination.failed
                - destination.accepted-without-posting
            foreignID:
              type: string
        - type: object
          required:
            - accountID
            - transferID
            - status
            - source
            - destination
          properties:
            accountID:
              type: string
              format: uuid
              description: The accountID which facilitated the transfer.
            transferID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - created
                - pending
                - completed
                - failed
                - reversed
                - queued
                - canceled
                - source.completed
                - source.corrected
                - source.initiated
                - source.returned
                - source.originated
                - source.confirmed
                - source.settled
                - source.failed
                - source.canceled
                - destination.completed
                - destination.corrected
                - destination.initiated
                - destination.returned
                - destination.originated
                - destination.confirmed
                - destination.failed
                - destination.accepted-without-posting
            source:
              type: object
              required:
                - accountID
                - paymentMethodID
              properties:
                accountID:
                  type: string
                  format: uuid
                paymentMethodID:
                  type: string
                  format: uuid
              description: Payment method details for the source or destination of a transfer.
            destination:
              type: object
              required:
                - accountID
                - paymentMethodID
              properties:
                accountID:
                  type: string
                  format: uuid
                paymentMethodID:
                  type: string
                  format: uuid
              description: Payment method details for the source or destination of a transfer.
            foreignID:
              type: string
        - type: object
          required:
            - accountID
            - walletID
          properties:
            accountID:
              type: string
              format: uuid
            walletID:
              type: string
              format: uuid
        - type: object
          required:
            - accountID
            - walletID
            - status
          properties:
            accountID:
              type: string
              format: uuid
            walletID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - active
                - closed
              description: |-
                Status of a wallet.
                  - `active`: The wallet is available for use and has an enabled payment method.
                  - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
        - type: object
          required:
            - accountID
            - walletID
            - transactionID
            - status
          properties:
            accountID:
              type: string
              format: uuid
            walletID:
              type: string
              format: uuid
            transactionID:
              type: string
              format: uuid
            status:
              type: string
              enum:
                - pending
                - completed
                - canceled
                - failed
            availableBalance:
              type: object
              required:
                - currency
                - value
                - valueDecimal
              properties:
                currency:
                  type: string
                  pattern: ^[A-Za-z]{3}$
                  description: A 3-letter ISO 4217 currency code.
                  example: USD
                value:
                  type: integer
                  format: int64
                  description: |-
                    Quantity in the smallest unit of the specified currency. 

                    In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                  example: 1204
                valueDecimal:
                  type: string
                  pattern: ^\d+\.\d{1,9}$
        - type: object
          required:
            - statementID
          properties:
            statementID:
              type: string
              format: uuid
      description: The data for the webhook event. The contents are based on the event type.
    WebhookDataAccountCreated:
      type: object
      required:
        - accountID
      properties:
        accountID:
          type: string
          format: uuid
        foreignID:
          type: string
          format: uuid
    WebhookDataAccountDisconnected:
      type: object
      required:
        - accountID
      properties:
        accountID:
          type: string
          format: uuid
        foreignID:
          type: string
          format: uuid
    WebhookDataAccountUpdated:
      type: object
      required:
        - accountID
      properties:
        accountID:
          type: string
          format: uuid
        foreignID:
          type: string
          format: uuid
    WebhookDataBalanceUpdated:
      type: object
      required:
        - accountID
        - walletID
      properties:
        accountID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
    WebhookDataBankAccountCreated:
      type: object
      required:
        - bankAccountID
        - accountID
      properties:
        bankAccountID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
    WebhookDataBankAccountDeleted:
      type: object
      required:
        - bankAccountID
        - accountID
      properties:
        bankAccountID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
    WebhookDataBankAccountUpdated:
      type: object
      required:
        - bankAccountID
        - accountID
        - status
        - statusReason
      properties:
        bankAccountID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - new
            - verified
            - verificationFailed
            - pending
            - errored
        statusReason:
          type: string
          enum:
            - bank-account-created
            - verification-initiated
            - micro-deposit-attempts-exceeded
            - micro-deposit-expired
            - max-verification-failures
            - verification-attempts-exceeded
            - verification-expired
            - verification-successful
            - ach-debit-return
            - ach-credit-return
            - rtp-credit-failure
            - micro-deposit-return
            - admin-action
            - other
          description: The reason the bank account status changed to the current value.
        exceptionDetails:
          type: object
          required:
            - description
          properties:
            achReturnCode:
              type: string
              enum:
                - R02
                - R03
                - R04
                - R05
                - R07
                - R08
                - R10
                - R11
                - R12
                - R13
                - R14
                - R15
                - R16
                - R17
                - R20
                - R23
                - R29
                - R34
                - R38
                - R39
              description: |-
                The return code of an ACH transaction that caused the bank account status to change.

                - R02: Account Closed
                - R03: No Account/Unable to Locate Account
                - R04: Invalid Account Number
                - R05: Improper Debit to Consumer Account
                - R07: Authorization Revoked by Customer
                - R08: Payment Stopped
                - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                - R12: Branch Sold to Another DFI
                - R13: RDFI not qualified to participate
                - R14: Representative payee deceased or unable to continue in that capacity
                - R15: Beneficiary or bank account holder
                - R16: Bank account frozen
                - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                - R20: Non-payment bank account
                - R23: Credit entry refused by receiver
                - R29: Corporate customer advises not authorized
                - R34: Limited participation RDFI
                - R38: Stop Payment on Source Document (Adjustment Entry)
                - R39: Improper Source Document
            rtpRejectionCode:
              type: string
              enum:
                - AC03
                - AC04
                - AC06
                - AC14
                - AG01
                - AG03
                - MD07
              description: |-
                The rejection code of an RTP transaction that caused the bank account status to change.

                - AC03: Account Invalid
                - AC04: Account Closed
                - AC06: Account Blocked
                - AC14: Creditor Account Type Invalid
                - AG01: Transactions Forbidden On Account
                - AG03: Transaction Type Not Supported
                - MD07: Customer Deceased
            description:
              type: string
              description: Details related to an `errored` or `verificationFailed` bank account status.
          description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
    WebhookDataCancellationCreated:
      type: object
      required:
        - cancellationID
        - transferID
        - status
      properties:
        cancellationID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - pending
            - completed
            - failed
    WebhookDataCancellationUpdated:
      type: object
      required:
        - cancellationID
        - transferID
        - status
      properties:
        cancellationID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - pending
            - completed
            - failed
    WebhookDataCapabilityRequested:
      type: object
      required:
        - accountID
        - capabilityID
      properties:
        accountID:
          type: string
          format: uuid
        foreignID:
          type: string
          format: uuid
        capabilityID:
          type: string
          enum:
            - transfers
            - send-funds
            - send-funds.push-to-card
            - money-transfer.push-to-card
            - send-funds.ach
            - send-funds.rtp
            - send-funds.instant-bank
            - collect-funds
            - collect-funds.card-payments
            - money-transfer.pull-from-card
            - collect-funds.ach
            - wallet
            - wallet.balance
            - card-issuing
            - production-app
            - platform.production-app
            - platform.wallet-transfers
          description: |-
            Moov account capabilities.

            The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
    WebhookDataCapabilityUpdated:
      type: object
      required:
        - accountID
        - capabilityID
        - status
      properties:
        accountID:
          type: string
          format: uuid
        foreignID:
          type: string
          format: uuid
        capabilityID:
          type: string
          enum:
            - transfers
            - send-funds
            - send-funds.push-to-card
            - money-transfer.push-to-card
            - send-funds.ach
            - send-funds.rtp
            - send-funds.instant-bank
            - collect-funds
            - collect-funds.card-payments
            - money-transfer.pull-from-card
            - collect-funds.ach
            - wallet
            - wallet.balance
            - card-issuing
            - production-app
            - platform.production-app
            - platform.wallet-transfers
          description: |-
            Moov account capabilities.

            The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
        status:
          type: string
          enum:
            - enabled
            - disabled
            - pending
            - in-review
          description: The status of the capability requested for an account.
    WebhookDataCardAutoUpdated:
      type: object
      required:
        - cardID
        - accountID
        - updateType
      properties:
        cardID:
          type: string
          format: uuid
        accountID:
          type: string
          format: uuid
        updateType:
          type: string
          enum:
            - unspecified
            - account-closed
            - contact-cardholder
            - expiration-update
            - no-change
            - no-match
            - number-update
          description: The results of the card update request.
          example: number-update
    WebhookDataDisputeCreated:
      type: object
      required:
        - accountID
        - transferID
        - transactionID
        - disputeID
        - status
        - phase
      properties:
        accountID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        transactionID:
          type: string
          format: uuid
        disputeID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - response-needed
            - resolved
            - under-review
            - closed
            - accepted
            - expired
            - won
            - lost
          description: |-
            The status of a particular dispute. 

            Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
        phase:
          type: string
          enum:
            - pre-dispute
            - inquiry
            - chargeback
            - unknown
          description: The phase of a dispute within the dispute lifecycle.
    WebhookDataDisputeUpdated:
      type: object
      required:
        - accountID
        - transferID
        - transactionID
        - disputeID
        - status
        - phase
      properties:
        accountID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        transactionID:
          type: string
          format: uuid
        disputeID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - response-needed
            - resolved
            - under-review
            - closed
            - accepted
            - expired
            - won
            - lost
          description: |-
            The status of a particular dispute. 

            Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
        phase:
          type: string
          enum:
            - pre-dispute
            - inquiry
            - chargeback
            - unknown
          description: The phase of a dispute within the dispute lifecycle.
    WebhookDataNetworkIDUpdated:
      type: object
      required:
        - accountID
      properties:
        accountID:
          type: string
          format: uuid
        visaMid:
          type: string
        mastercardMid:
          type: string
        discoverMid:
          type: string
        amexMid:
          type: string
        updatedOn:
          type: string
          format: date-time
    WebhookDataPaymentMethodDisabled:
      type: object
      required:
        - accountID
        - paymentMethodID
        - sourceID
      properties:
        accountID:
          type: string
          format: uuid
        paymentMethodID:
          type: string
          format: uuid
        sourceID:
          type: string
          format: uuid
    WebhookDataPaymentMethodEnabled:
      type: object
      required:
        - accountID
        - paymentMethodID
        - sourceID
      properties:
        accountID:
          type: string
          format: uuid
        paymentMethodID:
          type: string
          format: uuid
        sourceID:
          type: string
          format: uuid
    WebhookDataRefundCreated:
      type: object
      required:
        - accountID
        - transferID
        - refundID
      properties:
        accountID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        refundID:
          type: string
          format: uuid
    WebhookDataRefundUpdated:
      type: object
      required:
        - accountID
        - transferID
        - refundID
        - status
      properties:
        accountID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        refundID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
    WebhookDataRepresentativeCreated:
      type: object
      required:
        - accountID
        - representativeID
      properties:
        accountID:
          type: string
          format: uuid
        representativeID:
          type: string
          format: uuid
    WebhookDataRepresentativeDisabled:
      type: object
      required:
        - accountID
        - representativeID
      properties:
        accountID:
          type: string
          format: uuid
        representativeID:
          type: string
          format: uuid
    WebhookDataRepresentativeUpdated:
      type: object
      required:
        - accountID
        - representativeID
      properties:
        accountID:
          type: string
          format: uuid
        representativeID:
          type: string
          format: uuid
    WebhookDataSweepCreated:
      type: object
      required:
        - walletID
        - sweepID
      properties:
        walletID:
          type: string
          format: uuid
        sweepID:
          type: string
          format: uuid
    WebhookDataSweepUpdated:
      type: object
      required:
        - walletID
        - sweepID
        - status
      properties:
        walletID:
          type: string
          format: uuid
        sweepID:
          type: string
          format: uuid
        transferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - accruing
            - action-required
            - canceled
            - closed
            - failed
            - paid
    WebhookDataTerminalApplicationCreated:
      type: object
      required:
        - terminalApplicationID
        - status
      properties:
        terminalApplicationID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - undefined
            - pending
            - enabled
            - disabled
          description: Status of the terminal application.
          example: enabled
    WebhookDataTerminalApplicationUpdated:
      type: object
      required:
        - terminalApplicationID
        - status
      properties:
        terminalApplicationID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - undefined
            - pending
            - enabled
            - disabled
          description: Status of the terminal application.
          example: enabled
    WebhookDataTicketCreated:
      type: object
      required:
        - accountID
        - ticketID
      properties:
        accountID:
          type: string
          format: uuid
        ticketID:
          type: string
          format: uuid
        foreignID:
          type: string
    WebhookDataTicketMessageAdded:
      type: object
      required:
        - accountID
        - ticketID
      properties:
        accountID:
          type: string
          format: uuid
        ticketID:
          type: string
          format: uuid
        foreignID:
          type: string
    WebhookDataTicketUpdated:
      type: object
      required:
        - accountID
        - ticketID
        - status
      properties:
        accountID:
          type: string
          format: uuid
        ticketID:
          type: string
          format: uuid
        foreignID:
          type: string
        status:
          type: string
          enum:
            - new
            - in-progress
            - on-hold
            - closed
    WebhookDataTransferCreated:
      type: object
      required:
        - accountID
        - transferID
        - status
      properties:
        accountID:
          type: string
          format: uuid
          description: The accountID which facilitated the transfer.
        transferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
            - reversed
            - queued
            - canceled
            - source.completed
            - source.corrected
            - source.initiated
            - source.returned
            - source.originated
            - source.confirmed
            - source.settled
            - source.failed
            - source.canceled
            - destination.completed
            - destination.corrected
            - destination.initiated
            - destination.returned
            - destination.originated
            - destination.confirmed
            - destination.failed
            - destination.accepted-without-posting
        foreignID:
          type: string
    WebhookDataTransferStatus:
      type: string
      enum:
        - created
        - pending
        - completed
        - failed
        - reversed
        - queued
        - canceled
        - source.completed
        - source.corrected
        - source.initiated
        - source.returned
        - source.originated
        - source.confirmed
        - source.settled
        - source.failed
        - source.canceled
        - destination.completed
        - destination.corrected
        - destination.initiated
        - destination.returned
        - destination.originated
        - destination.confirmed
        - destination.failed
        - destination.accepted-without-posting
    WebhookDataTransferUpdated:
      type: object
      required:
        - accountID
        - transferID
        - status
        - source
        - destination
      properties:
        accountID:
          type: string
          format: uuid
          description: The accountID which facilitated the transfer.
        transferID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - created
            - pending
            - completed
            - failed
            - reversed
            - queued
            - canceled
            - source.completed
            - source.corrected
            - source.initiated
            - source.returned
            - source.originated
            - source.confirmed
            - source.settled
            - source.failed
            - source.canceled
            - destination.completed
            - destination.corrected
            - destination.initiated
            - destination.returned
            - destination.originated
            - destination.confirmed
            - destination.failed
            - destination.accepted-without-posting
        source:
          type: object
          required:
            - accountID
            - paymentMethodID
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
          description: Payment method details for the source or destination of a transfer.
        destination:
          type: object
          required:
            - accountID
            - paymentMethodID
          properties:
            accountID:
              type: string
              format: uuid
            paymentMethodID:
              type: string
              format: uuid
          description: Payment method details for the source or destination of a transfer.
        foreignID:
          type: string
    WebhookDataWalletCreated:
      type: object
      required:
        - accountID
        - walletID
      properties:
        accountID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
    WebhookDataWalletTransactionUpdated:
      type: object
      required:
        - accountID
        - walletID
        - transactionID
        - status
      properties:
        accountID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
        transactionID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - pending
            - completed
            - canceled
            - failed
        availableBalance:
          type: object
          required:
            - currency
            - value
            - valueDecimal
          properties:
            currency:
              type: string
              pattern: ^[A-Za-z]{3}$
              description: A 3-letter ISO 4217 currency code.
              example: USD
            value:
              type: integer
              format: int64
              description: |-
                Quantity in the smallest unit of the specified currency. 

                In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
              example: 1204
            valueDecimal:
              type: string
              pattern: ^\d+\.\d{1,9}$
    WebhookDataWalletUpdated:
      type: object
      required:
        - accountID
        - walletID
        - status
      properties:
        accountID:
          type: string
          format: uuid
        walletID:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - active
            - closed
          description: |-
            Status of a wallet.
              - `active`: The wallet is available for use and has an enabled payment method.
              - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
    WebhookEvent:
      type: object
      required:
        - eventID
        - type
        - data
        - createdOn
      properties:
        eventID:
          type: string
          format: uuid
          description: Unique identifier for the webhook event.
        type:
          type: string
          enum:
            - '*'
            - account.created
            - account.updated
            - account.disconnected
            - balance.updated
            - bankAccount.created
            - bankAccount.updated
            - bankAccount.deleted
            - cancellation.created
            - cancellation.updated
            - card.autoUpdated
            - capability.requested
            - capability.updated
            - dispute.created
            - dispute.updated
            - networkID.updated
            - paymentMethod.enabled
            - paymentMethod.disabled
            - refund.created
            - refund.updated
            - representative.created
            - representative.updated
            - representative.deleted
            - sweep.created
            - sweep.updated
            - terminalApplication.created
            - terminalApplication.updated
            - ticket.created
            - ticket.updated
            - ticket.messageAdded
            - transfer.created
            - transfer.updated
            - wallet.created
            - wallet.updated
            - walletTransaction.updated
            - billingStatement.created
          description: The type of event that occurred.
        data:
          oneOf:
            - type: object
              required:
                - accountID
              properties:
                accountID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
              properties:
                accountID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
              properties:
                accountID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - walletID
              properties:
                accountID:
                  type: string
                  format: uuid
                walletID:
                  type: string
                  format: uuid
            - type: object
              required:
                - bankAccountID
                - accountID
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                accountID:
                  type: string
                  format: uuid
            - type: object
              required:
                - bankAccountID
                - accountID
                - status
                - statusReason
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                accountID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - new
                    - verified
                    - verificationFailed
                    - pending
                    - errored
                statusReason:
                  type: string
                  enum:
                    - bank-account-created
                    - verification-initiated
                    - micro-deposit-attempts-exceeded
                    - micro-deposit-expired
                    - max-verification-failures
                    - verification-attempts-exceeded
                    - verification-expired
                    - verification-successful
                    - ach-debit-return
                    - ach-credit-return
                    - rtp-credit-failure
                    - micro-deposit-return
                    - admin-action
                    - other
                  description: The reason the bank account status changed to the current value.
                exceptionDetails:
                  type: object
                  required:
                    - description
                  properties:
                    achReturnCode:
                      type: string
                      enum:
                        - R02
                        - R03
                        - R04
                        - R05
                        - R07
                        - R08
                        - R10
                        - R11
                        - R12
                        - R13
                        - R14
                        - R15
                        - R16
                        - R17
                        - R20
                        - R23
                        - R29
                        - R34
                        - R38
                        - R39
                      description: |-
                        The return code of an ACH transaction that caused the bank account status to change.

                        - R02: Account Closed
                        - R03: No Account/Unable to Locate Account
                        - R04: Invalid Account Number
                        - R05: Improper Debit to Consumer Account
                        - R07: Authorization Revoked by Customer
                        - R08: Payment Stopped
                        - R10: Customer Advises Originator is Not Known or Authorized to Receiver
                        - R11: Customer Advises Entry Not in Accordance with the Terms of the Authorization
                        - R12: Branch Sold to Another DFI
                        - R13: RDFI not qualified to participate
                        - R14: Representative payee deceased or unable to continue in that capacity
                        - R15: Beneficiary or bank account holder
                        - R16: Bank account frozen
                        - R17: Entry with Invalid Account Number Initiated Under Questionable Circumstances
                        - R20: Non-payment bank account
                        - R23: Credit entry refused by receiver
                        - R29: Corporate customer advises not authorized
                        - R34: Limited participation RDFI
                        - R38: Stop Payment on Source Document (Adjustment Entry)
                        - R39: Improper Source Document
                    rtpRejectionCode:
                      type: string
                      enum:
                        - AC03
                        - AC04
                        - AC06
                        - AC14
                        - AG01
                        - AG03
                        - MD07
                      description: |-
                        The rejection code of an RTP transaction that caused the bank account status to change.

                        - AC03: Account Invalid
                        - AC04: Account Closed
                        - AC06: Account Blocked
                        - AC14: Creditor Account Type Invalid
                        - AG01: Transactions Forbidden On Account
                        - AG03: Transaction Type Not Supported
                        - MD07: Customer Deceased
                    description:
                      type: string
                      description: Details related to an `errored` or `verificationFailed` bank account status.
                  description: Reason for, and details related to, an `errored` or `verificationFailed` bank account status.
            - type: object
              required:
                - bankAccountID
                - accountID
              properties:
                bankAccountID:
                  type: string
                  format: uuid
                accountID:
                  type: string
                  format: uuid
            - type: object
              required:
                - cancellationID
                - transferID
                - status
              properties:
                cancellationID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - pending
                    - completed
                    - failed
            - type: object
              required:
                - cancellationID
                - transferID
                - status
              properties:
                cancellationID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - pending
                    - completed
                    - failed
            - type: object
              required:
                - cardID
                - accountID
                - updateType
              properties:
                cardID:
                  type: string
                  format: uuid
                accountID:
                  type: string
                  format: uuid
                updateType:
                  type: string
                  enum:
                    - unspecified
                    - account-closed
                    - contact-cardholder
                    - expiration-update
                    - no-change
                    - no-match
                    - number-update
                  description: The results of the card update request.
                  example: number-update
            - type: object
              required:
                - accountID
                - capabilityID
              properties:
                accountID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                  format: uuid
                capabilityID:
                  type: string
                  enum:
                    - transfers
                    - send-funds
                    - send-funds.push-to-card
                    - money-transfer.push-to-card
                    - send-funds.ach
                    - send-funds.rtp
                    - send-funds.instant-bank
                    - collect-funds
                    - collect-funds.card-payments
                    - money-transfer.pull-from-card
                    - collect-funds.ach
                    - wallet
                    - wallet.balance
                    - card-issuing
                    - production-app
                    - platform.production-app
                    - platform.wallet-transfers
                  description: |-
                    Moov account capabilities.

                    The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
            - type: object
              required:
                - accountID
                - capabilityID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                  format: uuid
                capabilityID:
                  type: string
                  enum:
                    - transfers
                    - send-funds
                    - send-funds.push-to-card
                    - money-transfer.push-to-card
                    - send-funds.ach
                    - send-funds.rtp
                    - send-funds.instant-bank
                    - collect-funds
                    - collect-funds.card-payments
                    - money-transfer.pull-from-card
                    - collect-funds.ach
                    - wallet
                    - wallet.balance
                    - card-issuing
                    - production-app
                    - platform.production-app
                    - platform.wallet-transfers
                  description: |-
                    Moov account capabilities.

                    The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in your list. These are read-only capabilities that Moov requests and uses for account verification purposes. These capabilities remains active with your account and require no additional action.
                status:
                  type: string
                  enum:
                    - enabled
                    - disabled
                    - pending
                    - in-review
                  description: The status of the capability requested for an account.
            - type: object
              required:
                - accountID
                - transferID
                - transactionID
                - disputeID
                - status
                - phase
              properties:
                accountID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                transactionID:
                  type: string
                  format: uuid
                disputeID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - response-needed
                    - resolved
                    - under-review
                    - closed
                    - accepted
                    - expired
                    - won
                    - lost
                  description: |-
                    The status of a particular dispute. 

                    Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                phase:
                  type: string
                  enum:
                    - pre-dispute
                    - inquiry
                    - chargeback
                    - unknown
                  description: The phase of a dispute within the dispute lifecycle.
            - type: object
              required:
                - accountID
                - transferID
                - transactionID
                - disputeID
                - status
                - phase
              properties:
                accountID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                transactionID:
                  type: string
                  format: uuid
                disputeID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - response-needed
                    - resolved
                    - under-review
                    - closed
                    - accepted
                    - expired
                    - won
                    - lost
                  description: |-
                    The status of a particular dispute. 

                    Read our [disputes guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/#dispute-statuses) to learn what each status means.
                phase:
                  type: string
                  enum:
                    - pre-dispute
                    - inquiry
                    - chargeback
                    - unknown
                  description: The phase of a dispute within the dispute lifecycle.
            - type: object
              required:
                - accountID
              properties:
                accountID:
                  type: string
                  format: uuid
                visaMid:
                  type: string
                mastercardMid:
                  type: string
                discoverMid:
                  type: string
                amexMid:
                  type: string
                updatedOn:
                  type: string
                  format: date-time
            - type: object
              required:
                - accountID
                - paymentMethodID
                - sourceID
              properties:
                accountID:
                  type: string
                  format: uuid
                paymentMethodID:
                  type: string
                  format: uuid
                sourceID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - paymentMethodID
                - sourceID
              properties:
                accountID:
                  type: string
                  format: uuid
                paymentMethodID:
                  type: string
                  format: uuid
                sourceID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - transferID
                - refundID
              properties:
                accountID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                refundID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - transferID
                - refundID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                refundID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - created
                    - pending
                    - completed
                    - failed
            - type: object
              required:
                - accountID
                - representativeID
              properties:
                accountID:
                  type: string
                  format: uuid
                representativeID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - representativeID
              properties:
                accountID:
                  type: string
                  format: uuid
                representativeID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - representativeID
              properties:
                accountID:
                  type: string
                  format: uuid
                representativeID:
                  type: string
                  format: uuid
            - type: object
              required:
                - walletID
                - sweepID
              properties:
                walletID:
                  type: string
                  format: uuid
                sweepID:
                  type: string
                  format: uuid
            - type: object
              required:
                - walletID
                - sweepID
                - status
              properties:
                walletID:
                  type: string
                  format: uuid
                sweepID:
                  type: string
                  format: uuid
                transferID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - accruing
                    - action-required
                    - canceled
                    - closed
                    - failed
                    - paid
            - type: object
              required:
                - terminalApplicationID
                - status
              properties:
                terminalApplicationID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - undefined
                    - pending
                    - enabled
                    - disabled
                  description: Status of the terminal application.
                  example: enabled
            - type: object
              required:
                - terminalApplicationID
                - status
              properties:
                terminalApplicationID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - undefined
                    - pending
                    - enabled
                    - disabled
                  description: Status of the terminal application.
                  example: enabled
            - type: object
              required:
                - accountID
                - ticketID
              properties:
                accountID:
                  type: string
                  format: uuid
                ticketID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
            - type: object
              required:
                - accountID
                - ticketID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                ticketID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
                status:
                  type: string
                  enum:
                    - new
                    - in-progress
                    - on-hold
                    - closed
            - type: object
              required:
                - accountID
                - ticketID
              properties:
                accountID:
                  type: string
                  format: uuid
                ticketID:
                  type: string
                  format: uuid
                foreignID:
                  type: string
            - type: object
              required:
                - accountID
                - transferID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                  description: The accountID which facilitated the transfer.
                transferID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - created
                    - pending
                    - completed
                    - failed
                    - reversed
                    - queued
                    - canceled
                    - source.completed
                    - source.corrected
                    - source.initiated
                    - source.returned
                    - source.originated
                    - source.confirmed
                    - source.settled
                    - source.failed
                    - source.canceled
                    - destination.completed
                    - destination.corrected
                    - destination.initiated
                    - destination.returned
                    - destination.originated
                    - destination.confirmed
                    - destination.failed
                    - destination.accepted-without-posting
                foreignID:
                  type: string
            - type: object
              required:
                - accountID
                - transferID
                - status
                - source
                - destination
              properties:
                accountID:
                  type: string
                  format: uuid
                  description: The accountID which facilitated the transfer.
                transferID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - created
                    - pending
                    - completed
                    - failed
                    - reversed
                    - queued
                    - canceled
                    - source.completed
                    - source.corrected
                    - source.initiated
                    - source.returned
                    - source.originated
                    - source.confirmed
                    - source.settled
                    - source.failed
                    - source.canceled
                    - destination.completed
                    - destination.corrected
                    - destination.initiated
                    - destination.returned
                    - destination.originated
                    - destination.confirmed
                    - destination.failed
                    - destination.accepted-without-posting
                source:
                  type: object
                  required:
                    - accountID
                    - paymentMethodID
                  properties:
                    accountID:
                      type: string
                      format: uuid
                    paymentMethodID:
                      type: string
                      format: uuid
                  description: Payment method details for the source or destination of a transfer.
                destination:
                  type: object
                  required:
                    - accountID
                    - paymentMethodID
                  properties:
                    accountID:
                      type: string
                      format: uuid
                    paymentMethodID:
                      type: string
                      format: uuid
                  description: Payment method details for the source or destination of a transfer.
                foreignID:
                  type: string
            - type: object
              required:
                - accountID
                - walletID
              properties:
                accountID:
                  type: string
                  format: uuid
                walletID:
                  type: string
                  format: uuid
            - type: object
              required:
                - accountID
                - walletID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                walletID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - active
                    - closed
                  description: |-
                    Status of a wallet.
                      - `active`: The wallet is available for use and has an enabled payment method.
                      - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
            - type: object
              required:
                - accountID
                - walletID
                - transactionID
                - status
              properties:
                accountID:
                  type: string
                  format: uuid
                walletID:
                  type: string
                  format: uuid
                transactionID:
                  type: string
                  format: uuid
                status:
                  type: string
                  enum:
                    - pending
                    - completed
                    - canceled
                    - failed
                availableBalance:
                  type: object
                  required:
                    - currency
                    - value
                    - valueDecimal
                  properties:
                    currency:
                      type: string
                      pattern: ^[A-Za-z]{3}$
                      description: A 3-letter ISO 4217 currency code.
                      example: USD
                    value:
                      type: integer
                      format: int64
                      description: |-
                        Quantity in the smallest unit of the specified currency. 

                        In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.
                      example: 1204
                    valueDecimal:
                      type: string
                      pattern: ^\d+\.\d{1,9}$
            - type: object
              required:
                - statementID
              properties:
                statementID:
                  type: string
                  format: uuid
          description: The data for the webhook event. The contents are based on the event type.
        createdOn:
          type: string
          format: date-time
      description: Webhook events are sent to your webhook URL when certain actions occur in the Moov API. You can subscribe to these events to receive real-time notifications.
      x-speakeasy-include: true
    WebhookEventType:
      type: string
      enum:
        - '*'
        - account.created
        - account.updated
        - account.disconnected
        - balance.updated
        - bankAccount.created
        - bankAccount.updated
        - bankAccount.deleted
        - cancellation.created
        - cancellation.updated
        - card.autoUpdated
        - capability.requested
        - capability.updated
        - dispute.created
        - dispute.updated
        - networkID.updated
        - paymentMethod.enabled
        - paymentMethod.disabled
        - refund.created
        - refund.updated
        - representative.created
        - representative.updated
        - representative.deleted
        - sweep.created
        - sweep.updated
        - terminalApplication.created
        - terminalApplication.updated
        - ticket.created
        - ticket.updated
        - ticket.messageAdded
        - transfer.created
        - transfer.updated
        - wallet.created
        - wallet.updated
        - walletTransaction.updated
        - billingStatement.created
      description: The type of event that occurred.
    WebhookTransferPaymentMethodDetails:
      type: object
      required:
        - accountID
        - paymentMethodID
      properties:
        accountID:
          type: string
          format: uuid
        paymentMethodID:
          type: string
          format: uuid
      description: Payment method details for the source or destination of a transfer.
    WireInstitution:
      type: object
      required:
        - name
        - routingNumber
        - services
      properties:
        name:
          type: string
          description: Name of the financial institution.
          example: First Citizens
        routingNumber:
          type: string
          maxLength: 9
          example: '123456789'
        address:
          type: object
          required:
            - addressLine1
            - city
            - stateOrProvince
            - postalCode
            - country
          properties:
            addressLine1:
              type: string
              maxLength: 60
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: 123 Main Street
            addressLine2:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Apt 302
            city:
              type: string
              maxLength: 32
              pattern: '[a-zA-Z0-9,.\/?:''"|~!@#$%^&*()+_= -]+'
              example: Boulder
            stateOrProvince:
              type: string
              maxLength: 2
              example: CO
            postalCode:
              type: string
              maxLength: 5
              example: '80301'
            country:
              type: string
              maxLength: 2
              example: US
        services:
          type: object
          required:
            - fundsTransferStatus
            - fundsSettlementOnlyStatus
            - bookEntrySecuritiesTransferStatus
          properties:
            fundsTransferStatus:
              type: boolean
              description: The institution's capability to process standard Fedwire funds transfers.
              example: true
            fundsSettlementOnlyStatus:
              type: boolean
              description: The institution's capability for settlement-only transfers.
              example: false
            bookEntrySecuritiesTransferStatus:
              type: boolean
              description: The institution's capability to handle transfers of securities.
              example: false
    WireServices:
      type: object
      required:
        - fundsTransferStatus
        - fundsSettlementOnlyStatus
        - bookEntrySecuritiesTransferStatus
      properties:
        fundsTransferStatus:
          type: boolean
          description: The institution's capability to process standard Fedwire funds transfers.
          example: true
        fundsSettlementOnlyStatus:
          type: boolean
          description: The institution's capability for settlement-only transfers.
          example: false
        bookEntrySecuritiesTransferStatus:
          type: boolean
          description: The institution's capability to handle transfers of securities.
          example: false
    uuid:
      type: string
      format: uuid
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
x-speakeasy-globals:
  parameters:
    - $ref: '#/components/parameters/VersionHeader'
