openapi: 3.0.1
info:
  title: Boarding API
  description: >
    Welcome to the Boarding API documentation!


    Here you will find our collection of endpoints for boarding an managing
    accounts.


    # Introduction


    This is the reference documentation and schemas for the [Boarding
    API](/docs/boarding-api). 


    ## Authentication


    The platform uses API Keys to manage access to the API. You can pass the API
    key in the `x-api-key` header to the request.

    Talk you your sales rep about acquiring these API keys.

    Authorization is done via headers. You should pass the api key as the value
    to the `x-api-key` header. For example, `x-api-key: ${API_KEY}`. 


    Please note that you will be given 2 API keys, one public key and one
    private key.  Use the private key for all server to server communication.

    The public key is used for interfacing wih the JS SDK.
  version: v1.0.5
security:
  - x-api-key: []
tags:
  - name: Accounts
    description: >-
      A Forward Account is created when you have an <b>Application</b> that has
      gone through the boarding process to get to an <b>approved</b> state. You
      can fetch a particular Account, find all the Accounts that you are
      associated with, and update account name and user_fields.  <b>Note:</b>
      <ol><li> Each Account is required to have a <b>Company</b> as well as an
      <b>Address</b>.</li>  <li>You can only view and patch Accounts if you have
      the correct level of access.</li> </ol>
  - name: Applications
    description: >-
      This is an object that represents a Forward Application. This is how you
      get started on Forward to initiate the process of having an Account. You
      can <b>Create</b> a Draft Application or Update the Draft Application.
      Additionally, you can also generate an Application Link to update or
      submit a new Boarding application. All the Applications that were created
      by you can also be retrieved. 
  - name: Bank Account
    description: Bank Account Information
  - name: Business
    description: >-
      This is an object that represents a Forward Business associated with an
      Account. Every Account that you have must be associated with You can
      create a Business, fetch a particular Business or find all the Businesses
      that are associated to your Account. 
  - name: Locations
    description: >-
      A Business on Forward can have one more Locations. Here you <b>Create</b>,
      <b>Read</b>, <b>Update</b> or <b>Delete</b> a Location for a Business. 
  - name: MC Codes
    description: >-
      Here you can find all Merchant Category Codes that are assigned to your
      Accounts. Please contact Forward support if you have any questions.
  - name: Payee
    description: >-
      A Payee is a an entity in the platform's payment ecosystem. Using our
      Payee entity you can setup split payments for a given transaction. The
      lifecycle of a Payee is 1. A prospective payee receives an application to
      apply as a Payee, <b>Note:</b> Bank Account details is submitted with the
      Payee Application. Note: you can create a new payee application using link
      endpoint. 2. Once a payee application is filled out the application gets
      submitted to underwriting. 3. If our process approves the application a
      new payee entity comes into existence. The default state of the newly
      created Payee is active.  You can deactivate or toggle activate for a
      Payee.
  - name: Processing Plans
    description: >-
      Processing Plans are key information that determines fees and payout
      processing at Forward. You can <b>view</b>, <b>create</b>, <b>update</b> a
      Processing Plan associated with your Accounts.  
  - name: Users
    description: Manage user information for Businesses that you manage
paths:
  /users/{id}:
    get:
      tags:
        - Users
      summary: View user details
      description: Get user details
      operationId: get_user_by_id
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BaseUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
    put:
      tags:
        - Users
      summary: Update a User
      description: You can keep information regarding your user updated here.
      operationId: update_business_user
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequestExtDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BaseUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /users/{id}/status:
    put:
      tags:
        - Users
      summary: Update User Status
      description: You can activate or deactivate your user.
      operationId: set_user_business_status
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserStatusUpdateRequestDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BaseUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /locations/{id}:
    get:
      tags:
        - Locations
      summary: Get a Location by unique id
      description: >-
        You can review an existing Location that's assigned to a specific
        Business. <b>Note:</b> You can only review Business that you have access
        to.
      operationId: get_location
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BusinessLocationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
    put:
      tags:
        - Locations
      summary: Edit a Location
      description: >-
        Business Locations are always editable, please keep this information
        updated as your information changes.
      operationId: edit_location
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessLocationUpdateRequestDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BusinessLocationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
    delete:
      tags:
        - Locations
      summary: Delete a Location
      description: >-
        If a Location needs to be deleted, you can use this endpoint to
        <b>delete</b> a Location at Forward.
      operationId: delete_location
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /applications/{id}:
    get:
      tags:
        - Applications
      summary: Fetch a boarding Application by id
      description: >-
        Retrieve complete details about a specific boarding application by its
        unique identifier. This endpoint returns all application information
        including status, business details, company information, and
        configuration. Use this to review application details at any stage of
        the onboarding process, from draft to approved status.
      operationId: get_application
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApplicationDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
    put:
      tags:
        - Applications
      summary: Update an existing draft boarding Application
      description: >-
        Update an existing draft boarding application to modify or complete
        application details. <b>Important:</b> This endpoint can only be used to
        update applications that are in <b>DRAFT</b> status. Once an application
        has been submitted and moved to other statuses (such as UNDER_REVIEW,
        APPROVED, etc.), it cannot be updated through this route. Use this to
        save your progress, correct information, or add missing details before
        submitting the application. You may include
        <code>external_account_id</code> to set or update your partner
        identifier for the account. When updating <code>user_fields</code>, the
        value must conform to the Partner's <code>user_fields_schema</code> if
        validation is enabled.
      operationId: update_application
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationUpdateRequestDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApplicationDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
    delete:
      tags:
        - Applications
      summary: Deleting an existing Application in DRAFT or CANCELLED state
      description: >-
        Permanently delete a boarding application that is in <b>DRAFT</b> or
        <b>CANCELLED</b> status. <b>Important:</b> This operation can only be
        performed on applications in DRAFT or CANCELLED states. Applications in
        other statuses (such as UNDER_REVIEW, APPROVED, DECLINED, etc.) cannot
        be deleted. Once an application is deleted, it will be permanently
        removed and will no longer appear in application lists or be accessible
        through the API. Use this to clean up draft applications that are no
        longer needed or to remove cancelled applications from your records.
      operationId: delete_application
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApplicationDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /users:
    get:
      tags:
        - Users
      summary: Get a list of users
      operationId: get_users
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/UserFilterRequestExtDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoBaseUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
    post:
      tags:
        - Users
      summary: Create a Business User
      description: >-
        Here you can create a user for a specific Business. Provide all the
        necessary details about the user. We will send an automated email out
        informing your user to setup a password and login. You can also
        generated a one time login link for this user.
      operationId: create_business_user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessUserCreationRequestExtDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BaseUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /users/{id}/login_url:
    post:
      tags:
        - Users
      summary: Get a magic login link for specific user
      description: >-
        You can retrieve a magic link for a specific Business user that you have
        access to.
      operationId: create_login_url
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/MagicLinkUserDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /payees/link:
    post:
      tags:
        - Payee
      summary: Generate Payee On-boarding Application Link
      description: >
        Use this endpoint to create a new payee application link. <b>Note:</b>
        All top-level fields in the request are optional. You can send an empty
        request body to generate a link without pre-populating any data. If you
        choose to provide application data, you can specify either an
        <b>individual</b> or <b>company</b> payee. <b>Important:</b> If you
        include application data, all required fields within that data must be
        properly completed. <b>Individual Payee:</b> If you provide individual
        payee information, all required fields (first name, last name, email,
        phone number, address, etc.) must be included and valid. <b>Company
        Payee:</b> If you provide company payee information, required fields
        like company name, legal name, email, website, and owner information
        must be properly completed.
      operationId: generate_payee_link
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayeeLinkDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PayeeApplicationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /locations:
    get:
      tags:
        - Locations
      summary: Find Locations
      description: >-
        You can find all Locations that you have access to. Further filter on
        Business Location name and Business Id can be applied on the list of
        Locations.
      operationId: list_locations
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/BusinessLocationFilterRequestExtDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoBusinessLocationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
    post:
      tags:
        - Locations
      summary: Create a Location
      description: >-
        This endpoint can be used to <b>create</b> a new Business Location only
        two fields are needed Business Id and Location Name.
      operationId: create_location
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessLocationCreationRequestExtDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BusinessLocationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /businesses:
    get:
      tags:
        - Business
      summary: Find all Businesses
      description: >-
        You can find all Businesses or specifically filter by Name or Contact
        information. 
      operationId: list_businesses
      parameters:
        - name: filterRequestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/BusinessFilterRequestExtDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoBusinessExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
    post:
      tags:
        - Business
      summary: Create a new Business
      description: >-
        You can create a new Business that will be linked to your Account. We
        encourage you to complete all the fields while creating a new Business.
        Once you have created a Business you can start creating Applications and
        get associated Accounts. 
      operationId: create_business
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessCreationRequestExtDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BusinessExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /applications:
    get:
      tags:
        - Applications
      summary: List boarding Applications
      description: >-
        Retrieve a paginated list of all boarding applications associated with
        your account. Use the request parameters to filter results by status,
        business ID, or creation timestamps.
      operationId: list_applications
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/ApplicationFilterRequestDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoApplicationDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
    post:
      tags:
        - Applications
      summary: Create a boarding Application
      description: >
        Create a new draft boarding application to initiate the onboarding
        process on Forward. This endpoint creates an application in <b>DRAFT</b>
        status, which allows you to save your progress and complete the
        application over time. <b>Note:</b> Most fields in the request are
        optional - you can create a minimal draft and add details later, or
        provide complete information upfront.


        <b>Important:</b> Once the application is submitted (via application
        link), it will be processed and go through our approval workflow.
        <b>Note:</b> Webhooks are available to receive real-time notifications
        about application status changes, eliminating the need for polling.


        <b>Country:</b> The <code>country</code> field (or
        <code>address.country</code>) determines US vs Canadian (CA) application
        behavior. Set <code>country</code> to <b>US</b> or <b>CA</b>
        accordingly; ownership types and validations depend on the selected
        country. For payments terminology, US uses ACH and Canada uses EFT.


        <b>External Account ID:</b> Optional <code>external_account_id</code>
        lets you store your own identifier for the account (e.g. partner system
        account ID). It is persisted with the application and copied to the
        Account when the application is approved; partners can also update it
        later via the Account API.


        <b>User Fields and Schema:</b> Optional <code>user_fields</code> stores
        partner-defined key-value data. When the Partner has
        <code>validate_user_fields_schema</code> enabled,
        <code>user_fields</code> must conform to the Partner's
        <code>user_fields_schema</code> (JSON schema).


        <b>Company Ownership Types and Owner Titles (US):</b> The following
        mapping shows valid owner titles for each company ownership type.
        <b>Note:</b> Owner title is optional where indicated (most clients pass
        null). These are optional during the 'Create Application' step and can
        be provided later.

        <h4>LIMITED LIABILITY COMPANY</h4>

        <ul>
            <li>PRESIDENT</li>
            <li>VICE_PRESIDENT</li>
            <li>TREASURER</li>
            <li>CEO</li>
            <li>CFO</li>
            <li>COO</li>
            <li>SECRETARY</li>
            <li>MEMBER</li>
        </ul>

        <h4>PRIVATE</h4>

        <ul>
            <li>PRESIDENT</li>
            <li>VICE_PRESIDENT</li>
            <li>SECRETARY</li>
            <li>TREASURER</li>
            <li>CEO</li>
            <li>CFO</li>
            <li>COO</li>
        </ul>

        <h4>TAX EXEMPT ORGANIZATION</h4>

        <ul>
            <li>ADMINISTRATOR</li>
        </ul>

        <h4>SOLO TRADER</h4>

        <ul>
            <li>OWNER</li>
        </ul>

        <h4>PARTNERSHIP</h4>

        <ul>
            <li>PARTNER</li>
        </ul>

        <h4>GOVERNMENT</h4>

        <ul>
            <li>Owner title is optional: pass null or omit (no titles required)</li>
        </ul>

        <h4>PUBLIC</h4>

        <ul>
            <li>Owner title is optional: pass null or omit (no titles required)</li>
        </ul>


        <b>Canadian (CA) Business Types and Owner Titles:</b> For applications
        with <code>country</code> = <b>CA</b>, use one of the following
        ownership types and the corresponding owner titles.

        <h4>GENERAL_PARTNERSHIP</h4>

        <ul><li>PARTNER</li></ul>

        <h4>LIMITED_PARTNERSHIP</h4>

        <ul><li>PARTNER</li></ul>

        <h4>PRIVATE_CORPORATION_FEDERALLY_OR_PROVINCIALLY_INCORPORATED</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>PUBLIC_CORPORATION_SHARES_TRADED_ON_EXCHANGE</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>COOPERATIVE_FOR_PROFIT</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>COOPERATIVE_NOT_FOR_PROFIT</h4>

        <ul><li>OWNER</li><li>PARTNER</li><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li><li>MEMBER</li></ul>

        <h4>NOT_FOR_PROFIT_ORGANIZATION_NON_CHARITY</h4>

        <ul><li>OWNER</li><li>PARTNER</li><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li><li>MEMBER</li></ul>

        <h4>REGISTERED_CHARITY</h4>

        <ul><li>OWNER</li><li>PARTNER</li><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li><li>MEMBER</li></ul>

        <h4>GOVERNMENT_ENTITY_FEDERAL_PROVINCIAL_MUNICIPAL_CROWN_CORPORATION</h4>

        <ul><li>No owner titles required (government entity)</li></ul>

        <h4>UNLIMITED_LIABILITY_CORPORATION_ULC</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>EXTRA_PROVINCIAL_CORPORATION_FOREIGN_CORPORATION_REGISTERED_IN_CANADA</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>FOREIGN_PARTNERSHIP_REGISTERED_IN_CANADA</h4>

        <ul><li>PARTNER</li></ul>

        <h4>COMMUNITY_CONTRIBUTION_COMPANY_FOR_PROFIT</h4>

        <ul><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li></ul>

        <h4>COMMUNITY_CONTRIBUTION_COMPANY_NOT_FOR_PROFIT</h4>

        <ul><li>OWNER</li><li>PARTNER</li><li>PRESIDENT</li><li>VICE_PRESIDENT</li><li>SECRETARY</li><li>TREASURER</li><li>CEO</li><li>CFO</li><li>COO</li><li>MEMBER</li></ul>
      operationId: create_application
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationCreationRequestDto'
        required: true
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApplicationDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /applications/{id}/link:
    post:
      tags:
        - Applications
      summary: Generate a boarding Application Link
      description: >-
        Generate a shareable link for a boarding application that allows
        applicants to complete or submit the application through a hosted form.
        If you have configured your own <b>Hosted Application</b> domain, the
        link will be generated using your domain. Otherwise, the link will be
        hosted on Forward's platform. <b>Prerequisites:</b> A Processing Plan
        must be selected for the application before you can generate a link.
        <b>Important:</b> Application links can expire. Once a link expires, you
        will need to generate a new link to continue the application process.
        Use this endpoint when you want to share the application with applicants
        or allow them to complete the application form.
      operationId: create_application_link
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApplicationLinkExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /payees/{id}/deactivate:
    patch:
      tags:
        - Payee
      summary: Deactivate an existing Payee
      description: >-
        Deactivate a payee to temporarily disable it from being used in split
        payment transactions. A deactivated payee cannot receive payments as
        part of transaction splits, but the payee record is preserved and can be
        reactivated later. Use this when you need to temporarily stop payments
        to a payee without deleting their information, such as when a payee is
        on hold or under review.
      operationId: deactivate_payee
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PayeeExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /payees/{id}/activate:
    patch:
      tags:
        - Payee
      summary: Activate an existing Payee
      description: >-
        Activate a payee to make it available for use in split payment
        transactions. An activated payee can receive payments as part of a
        transaction split. <b>Note:</b> The payee must have completed the
        identity verification process before it can be activated. Once
        activated, the payee will be in an active state and can be used in
        payment operations.
      operationId: activate_payee
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PayeeExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /accounts/{id}:
    get:
      tags:
        - Accounts
      summary: Fetch an Account By id
      description: You will need the unique id for the Account.
      operationId: get_account
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccountDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /processing_plans:
    get:
      tags:
        - Processing Plans
      summary: Find all Processing Plans
      description: >-
        Here you can find all the Processing Plans, if you specify <b>Name</b>
        you can filter on specific Name as well.The Processing Plan data will be
        returned to you in a list. 
      operationId: list_processing_plans
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/ProcessingPlanFilterDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoProcessingPlanDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /processing_plans/{id}:
    get:
      tags:
        - Processing Plans
      summary: Get a Processing Plan by id
      description: >-
        Here you can review Processing Plan that has been created and verify the
        information is accurate. If there are any discrepancies in the Fees data
        please reach out as these play a key role processing payouts.
      operationId: get_processing_plan
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ProcessingPlanDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /payees:
    get:
      tags:
        - Payee
      summary: Find All Payees by provided request
      description: >-
        Retrieve a paginated list of all payees associated with your Partner
        account. Use the request parameters to filter and paginate results. This
        endpoint is useful for viewing all available payees that can be used in
        split payment transactions.
      operationId: list_payees
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/PayeeExtFilterRequestDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoPayeeBriefDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /payees/{id}:
    get:
      tags:
        - Payee
      summary: Get an existing Payee By ID
      description: >-
        Retrieve complete details about a specific payee by its unique
        identifier. This endpoint returns all payee information including
        status, contact details, and configuration. Use this to view payee
        details before including them in split payment transactions.
      operationId: get_payee
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PayeeExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /payees/application:
    get:
      tags:
        - Payee
      summary: Find All Payee Applications by provided request
      description: >-
        Retrieve a paginated list of all payee applications associated with your
        Partner account. Use the request parameters to filter and paginate
        results. This endpoint allows you to monitor all payee applications in
        various stages of the onboarding process, from pending to approved.
      operationId: list_payee_applications
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/PayeeApplicationFilterRequestDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoPayeeApplicationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /payees/application/{id}:
    get:
      tags:
        - Payee
      summary: Get Payee Application Link Status
      description: >-
        Retrieve the current status of a payee application. If a payee entity
        has been created from the application, you can also check the payee's
        status using this endpoint. <b>Note:</b> Webhooks are available to
        receive real-time notifications about payee application and payee status
        changes, eliminating the need for polling. This endpoint is useful for
        one-time status checks or when webhooks are not configured.
      operationId: get_payee_link_status
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PayeeApplicationExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
        '409':
          description: Request conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityExistsRestRuntimeException'
  /mccs:
    get:
      tags:
        - MC Codes
      summary: List all MCCs
      description: >-
        Use this endpoint to list all of the <b>MCCs</b> that have been assigned
        to you. Please verify this information as it plays a key role in our
        payment processing flows, as well as the Application creation process. 
      operationId: mcc
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/MccCodeFilterRequestDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoMccCodeDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /businesses/{id}:
    get:
      tags:
        - Business
      summary: Fetch a Business by a unique id
      description: >-
        Each Business has a unique id and must be associated with your Account.
        You can only search a Business you have access to.
      operationId: get_business
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BusinessExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /bank_accounts:
    get:
      tags:
        - Bank Account
      summary: Fetch Bank Accounts
      description: >-
        Here you can fetch all the Bank Accounts that have been linked to
        Businesses that are linked to you. 
      operationId: list_bank_accounts
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/BankAccountExtFilterRequestExtDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoBankAccountExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
  /bank_accounts/{id}:
    get:
      tags:
        - Bank Account
      summary: Get Bank account information
      description: >-
        Here you can fetch a Bank Account and retrieve the status of a given
        bank account. 
      operationId: get_bank_account_info
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BankAccountExtDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
        '404':
          description: Requested resource not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EntityNotFoundRestRuntimeException'
  /accounts:
    get:
      tags:
        - Accounts
      summary: Fetch Accounts
      description: >-
        You can fetch all the Accounts that are associated with you.
        Additionally there is further filtering available for Account Name or
        Business Id
      operationId: list_accounts
      parameters:
        - name: requestDto
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/AccountFilterRequestDto'
      responses:
        '200':
          description: Success
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseDtoAccountDto'
        '400':
          description: Bad request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidArgumentsRestRuntimeException'
        '401':
          description: Authorization Required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/NotAuthorizedRestRuntimeException'
        '403':
          description: Access Denied to perform an action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AccessDeniedRestRuntimeException'
components:
  schemas:
    UserUpdateRequestExtDto:
      required:
        - first_name
        - last_name
      type: object
      properties:
        first_name:
          type: string
          description: User First Name
        last_name:
          type: string
          description: User Last Name
        email:
          type: string
          description: User Email Address
          example: test@test.com
      description: User Update Information
    InvalidArgumentsRestRuntimeException:
      type: object
      properties:
        type:
          type: string
          enum:
            - API_ERROR
            - INVALID_REQUEST_DATA_ERROR
        code:
          type: string
        argument_errors:
          type: object
          additionalProperties:
            type: string
        message:
          type: string
    AccessDeniedRestRuntimeException:
      type: object
      properties:
        type:
          type: string
          enum:
            - API_ERROR
            - INVALID_REQUEST_DATA_ERROR
        code:
          type: string
        message:
          type: string
    EntityExistsRestRuntimeException:
      type: object
      properties:
        type:
          type: string
          enum:
            - API_ERROR
            - INVALID_REQUEST_DATA_ERROR
        code:
          type: string
        message:
          type: string
    EntityNotFoundRestRuntimeException:
      type: object
      properties:
        type:
          type: string
          enum:
            - API_ERROR
            - INVALID_REQUEST_DATA_ERROR
        code:
          type: string
        message:
          type: string
    NotAuthorizedRestRuntimeException:
      type: object
      properties:
        type:
          type: string
          enum:
            - API_ERROR
            - INVALID_REQUEST_DATA_ERROR
        code:
          type: string
        message:
          type: string
    BaseUserDto:
      type: object
      properties:
        id:
          type: string
          description: ID
          example: 123e4567-e89b-12d3-a456-426655440000
        type:
          type: string
          description: User type
          example: BUSINESS
          enum:
            - ENTERPRISE
            - TENANT
            - PARTNER
            - BUSINESS
            - SALES_GROUP
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
    UserStatusUpdateRequestDto:
      required:
        - status
      type: object
      properties:
        status:
          type: string
          description: User Status
          enum:
            - ACTIVE
            - INACTIVE
      description: Update User Status
    BusinessLocationUpdateRequestDto:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Location Name
      description: Business Location Update Information
    BusinessLocationExtDto:
      type: object
      properties:
        business_name:
          type: string
          description: Business Name
        business_id:
          type: string
          description: Business Id
        location_name:
          type: string
          description: Location Name
        location_id:
          type: string
          description: Location Id
      description: Business Location Information
    AccountCompanyRequestDto:
      type: object
      properties:
        ownership_type:
          type: string
          description: Company ownership type
          enum:
            - GOVERNMENT
            - SOLO_TRADER
            - PARTNERSHIP
            - PUBLIC
            - PRIVATE
            - TAX_EXEMPT_ORGANIZATION
            - LIMITED_LIABILITY_COMPANY
            - SOLE_PROPRIETORSHIP
            - GENERAL_PARTNERSHIP
            - LIMITED_PARTNERSHIP
            - PRIVATE_CORPORATION_FEDERALLY_OR_PROVINCIALLY_INCORPORATED
            - PUBLIC_CORPORATION_SHARES_TRADED_ON_EXCHANGE
            - COOPERATIVE_FOR_PROFIT
            - COOPERATIVE_NOT_FOR_PROFIT
            - NOT_FOR_PROFIT_ORGANIZATION_NON_CHARITY
            - REGISTERED_CHARITY
            - GOVERNMENT_ENTITY_FEDERAL_PROVINCIAL_MUNICIPAL_CROWN_CORPORATION
            - UNLIMITED_LIABILITY_CORPORATION_ULC
            - >-
              EXTRA_PROVINCIAL_CORPORATION_FOREIGN_CORPORATION_REGISTERED_IN_CANADA
            - FOREIGN_PARTNERSHIP_REGISTERED_IN_CANADA
            - COMMUNITY_CONTRIBUTION_COMPANY_FOR_PROFIT
            - COMMUNITY_CONTRIBUTION_COMPANY_NOT_FOR_PROFIT
        category:
          type: string
          description: Company category
          enum:
            - RETAIL
            - RESTAURANT
            - MOTO
            - ECOMMERCE
            - LODGING
            - CAR_RENTAL
            - PETROLEUM
            - QSR
        ein:
          type: string
          description: >-
            Tax ID - EIN (US) or BN (Canadian) - For US applications: Use EIN
            format (e.g., '12-3456789'). For Canadian applications: Use BN
            format (e.g., '123456789RC0001'). The validation will be determined
            by the address country field.
        legal_name:
          maxLength: 100
          minLength: 2
          type: string
          description: Legal name
        dba_name:
          maxLength: 100
          minLength: 2
          type: string
          description: Company doing business as a name
        description:
          maxLength: 200
          minLength: 0
          type: string
          description: Business description
        business_start_date:
          type: string
          description: Business Start Date
          format: date
        website:
          maxLength: 70
          minLength: 0
          type: string
          description: Company Website
        timezone:
          type: string
          description: Company Timezone
          default: EST
          enum:
            - EST
            - HST
            - AKST
            - PST
            - MST
            - CST
        phone_number:
          type: string
          description: Company Phone number
          example: '8005550100'
        mcc:
          type: string
          description: Company MCC(Business Category)
          example: '7021'
        stock_symbol:
          pattern: ([A-Za-z]{1,5})(-[A-Za-z]{1,2})?
          type: string
          description: Stock Symbol
      description: >-
        Company Information - Supports both US (EIN) and Canadian (BN)
        applications
    AddressRequestDto:
      type: object
      properties:
        country:
          maxLength: 10
          minLength: 0
          pattern: ^(US|CA)$
          type: string
          description: >-
            Country code - This field determines the entire application type.
            Use 'US' for US applications or 'CA' for Canadian applications. The
            system will validate all other fields based on this country
            selection. IMPORTANT: This field controls the entire application
            flow.
          example: US
          default: US
          enum:
            - US
            - CA
        state:
          type: string
          description: >-
            State/Province - For US applications: Use US state codes (AL, AK,
            AZ, etc.). For Canadian applications: Use Canadian
            province/territory codes (AB, BC, ON, etc.). US States: AL, AK, AZ,
            AR, CA, CO, CT, DE, DC, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME,
            MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK,
            OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY. Canadian
            Provinces/Territories: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC,
            SK, YT
          example: AL
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AB
            - BC
            - MB
            - NB
            - NL
            - NS
            - NT
            - NU
            - 'ON'
            - PE
            - QC
            - SK
            - YT
        city:
          maxLength: 24
          minLength: 0
          type: string
          description: City name
        zip_code:
          pattern: ^[0-9A-Za-z\s-]{3,10}$
          type: string
          description: >-
            ZIP/Postal Code - For US applications: Use 5-digit ZIP code (e.g.,
            '78701'). For Canadian applications: Use postal code in A1A 1A1
            format (e.g., 'K0E 0B2' or 'K0E0B2'). US Format: 5 digits. Canadian
            Format: A1A 1A1 or A1A1A1
          example: '35242'
        address_line1:
          maxLength: 100
          minLength: 0
          pattern: ^(?!.*\b(?:P\.?\s*O\.?|PO|Post\s*Office)\b).*$
          type: string
          description: Address Line 1 - Street address
        address_line2:
          maxLength: 100
          minLength: 0
          pattern: ^(?!.*\b(?:P\.?\s*O\.?|PO|Post\s*Office)\b).*$
          type: string
          description: Address Line 2 - Optional additional address information
      description: Address Info
    ApplicationIndustryVolumeExtDto:
      type: object
      properties:
        bank_volume:
          maximum: 999999999
          minimum: 0
          type: integer
          description: >-
            Expected average annual bank-rail processing volume (USD). Mapped to
            avg_ach_annual_volume and related persisted fields.
          format: int32
        avg_ticket_amount:
          maximum: 99999
          minimum: 0
          type: integer
          description: Average ticket amount (USD) per transaction.
          format: int64
        high_ticket_amount:
          minimum: 0
          type: integer
          description: Highest single payment amount (USD).
          format: int64
        avg_bank_ticket_amount:
          minimum: 0
          type: integer
          description: 'Average bank-rail ticket amount (USD). JSON: avg_bank_ticket_amount.'
          format: int64
        bank_high_ticket_amount:
          minimum: 0
          type: integer
          description: 'Bank-rail high ticket amount (USD). JSON: bank_high_ticket_amount.'
          format: int64
      description: >-
        Partner-facing industry and volume. Use bank_volume for expected annual
        bank-rail processing volume; it is mapped to ACH annual fields on
        persist.
    ApplicationUpdateRequestDto:
      required:
        - business_id
        - name
      type: object
      properties:
        business_id:
          type: string
          description: The Business ID
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Account Name
        sales_code_id:
          maxLength: 50
          minLength: 0
          type: string
          description: Sales Code ID
        company:
          $ref: '#/components/schemas/AccountCompanyRequestDto'
        business_address:
          $ref: '#/components/schemas/AddressRequestDto'
        industry_volume:
          $ref: '#/components/schemas/ApplicationIndustryVolumeExtDto'
        services_deliveries:
          $ref: '#/components/schemas/ServicesDeliveriesRequestDto'
        transaction_modes:
          $ref: '#/components/schemas/TransactionModesRequestDto'
        owners:
          type: array
          description: Owners Information
          items:
            $ref: '#/components/schemas/OwnerUpdateRequestDto'
        processing_plan_id:
          type: string
          description: Processing Plan id
        terms_accepted:
          type: boolean
          description: Terms and Conditions are accepted or not
        partner_data:
          $ref: '#/components/schemas/PartnerDataDto'
        country:
          maxLength: 10
          minLength: 0
          pattern: ^(US|CA)$
          type: string
          description: Country code - US or CA
          default: US
        external_account_id:
          maxLength: 255
          minLength: 0
          type: string
          description: >-
            Partner's external identifier for the account (e.g. partner system
            account ID)
        user_fields:
          type: object
          additionalProperties:
            type: object
            description: User-defined fields as free-form JSON object
          description: User-defined fields as free-form JSON object
    OwnerUpdateRequestDto:
      required:
        - residence_address
      type: object
      properties:
        id:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone_number:
          type: string
        title:
          type: string
          enum:
            - OWNER
            - PARTNER
            - PRESIDENT
            - VICE_PRESIDENT
            - SECRETARY
            - TREASURER
            - CEO
            - CFO
            - COO
            - MEMBER
            - NA
        ownership_percent:
          type: integer
          format: int32
        ssn:
          type: string
        birth_date:
          type: string
          format: date
        residence_address:
          $ref: '#/components/schemas/AddressRequestDto'
        signer:
          type: boolean
      description: Owner Information
    PartnerDataDto:
      type: object
      properties:
        paid_subscription:
          type: boolean
          description: Paid subscription status
        merchant_joined:
          type: string
          description: Date when merchant joined SaaS platform
          format: date-time
        backbook:
          type: boolean
          description: Backbook status
        last_ip_address:
          maxLength: 45
          minLength: 0
          type: string
          description: Last IP address
        sub_payor_name:
          maxLength: 100
          minLength: 0
          type: string
          description: Sub payor name
        request_credit_override:
          type: boolean
          description: Request credit override
        prior_annual_volume:
          maximum: 999999999
          minimum: 0
          type: integer
          description: Prior annual volume
          format: int32
        prior_avg_ticket:
          maximum: 999999999
          minimum: 0
          type: integer
          description: Prior average ticket amount
          format: int32
        prior_high_ticket:
          maximum: 999999999
          minimum: 0
          type: integer
          description: Prior high ticket amount
          format: int32
        six_mos_chargeback_rate:
          maximum: 100
          exclusiveMaximum: false
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: 6 months chargeback rate
          format: double
        six_mos_refund_rate:
          maximum: 100
          exclusiveMaximum: false
          minimum: 0
          exclusiveMinimum: false
          type: number
          description: 6 months refund rate
          format: double
        redirect_url:
          maxLength: 400
          minLength: 0
          type: string
          description: Redirect URL
      description: Partner Data Information
    ServicesDeliveriesRequestDto:
      type: object
      properties:
        same_day_delivery:
          type: integer
          description: Same Day Delivery percentage
          format: int32
        one_week_delivery:
          type: integer
          description: One week Delivery percentage
          format: int32
        two_week_delivery:
          type: integer
          description: Two week Delivery percentage
          format: int32
        one_month_delivery:
          type: integer
          description: Till one month Delivery percentage
          format: int32
        more_than_one_month_delivery:
          type: integer
          description: More than one month Delivery percentage
          format: int32
      description: Service Delivery Information
    TransactionModesRequestDto:
      type: object
      properties:
        in_person:
          type: integer
          description: In Person transactions percentage
          format: int32
        online:
          type: integer
          description: Online transactions percentage
          format: int32
      description: Service Delivery Information
    AccountOwnerDto:
      type: object
      properties:
        id:
          type: string
          description: Account Owner ID
        first_name:
          type: string
          description: Account Owner First Name
        last_name:
          type: string
          description: Account Owner Last Name
        email:
          type: string
          description: Account Owner Email
        phone_number:
          type: string
          description: Account Owner Phone number
          example: '1234567890'
        title:
          type: string
          description: Company Title
          enum:
            - OWNER
            - PARTNER
            - PRESIDENT
            - VICE_PRESIDENT
            - SECRETARY
            - TREASURER
            - CEO
            - CFO
            - COO
            - MEMBER
            - NA
        ownership_percent:
          type: integer
          description: Account Ownership Percent
          format: int32
        residence_address:
          $ref: '#/components/schemas/AddressRequestExtDto'
        signer:
          type: boolean
          description: Is Signer ?
      description: Account Owner Information
    AddressExtDto:
      required:
        - address_line1
        - city
        - country
        - state
        - zip_code
      type: object
      properties:
        country:
          maxLength: 4
          minLength: 0
          type: string
          description: Country
          default: US
        state:
          maxLength: 2
          minLength: 2
          pattern: ^[a-zA-Z]+$
          type: string
          description: State/Province
          example: AL
        city:
          maxLength: 24
          minLength: 0
          type: string
          description: City
        zip_code:
          maxLength: 10
          minLength: 0
          type: string
          description: Zip/Post Code
          example: '35242'
        address_line1:
          maxLength: 100
          minLength: 0
          type: string
          description: Address Line 1
        address_line2:
          maxLength: 100
          minLength: 0
          type: string
          description: Address Line 2
      description: Address Info
    AddressRequestExtDto:
      type: object
      properties:
        country:
          maxLength: 10
          minLength: 0
          pattern: ^(US|CA)$
          type: string
          description: >-
            Country code - This field determines the entire application type.
            Use 'US' for US applications or 'CA' for Canadian applications. The
            system will validate all other fields based on this country
            selection. IMPORTANT: This field controls the entire application
            flow.
          example: US
          default: US
          enum:
            - US
            - CA
        state:
          type: string
          description: >-
            State/Province - For US applications: Use US state codes (AL, AK,
            AZ, etc.). For Canadian applications: Use Canadian
            province/territory codes (AB, BC, ON, etc.). US States: AL, AK, AZ,
            AR, CA, CO, CT, DE, DC, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME,
            MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK,
            OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY. Canadian
            Provinces/Territories: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC,
            SK, YT
          example: AL
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AB
            - BC
            - MB
            - NB
            - NL
            - NS
            - NT
            - NU
            - 'ON'
            - PE
            - QC
            - SK
            - YT
        city:
          maxLength: 24
          minLength: 0
          type: string
          description: City name
        zip_code:
          pattern: ^[0-9A-Za-z\s-]{3,10}$
          type: string
          description: >-
            ZIP/Postal Code - For US applications: Use 5-digit ZIP code (e.g.,
            '78701'). For Canadian applications: Use postal code in A1A 1A1
            format (e.g., 'K0E 0B2' or 'K0E0B2'). US Format: 5 digits. Canadian
            Format: A1A 1A1 or A1A1A1
          example: '35242'
        address_line1:
          maxLength: 100
          minLength: 0
          pattern: ^(?!.*\b(?:P\.?\s*O\.?|PO|Post\s*Office)\b).*$
          type: string
          description: Address Line 1 - Street address
        address_line2:
          maxLength: 100
          minLength: 0
          pattern: ^(?!.*\b(?:P\.?\s*O\.?|PO|Post\s*Office)\b).*$
          type: string
          description: Address Line 2 - Optional additional address information
      description: Address Information - Supports US and Canadian addresses
    ApplicationDto:
      type: object
      properties:
        id:
          type: string
          description: Application id
        business_id:
          type: string
          description: The Business id of the application
        business_name:
          type: string
          description: The Business name of the application
        name:
          type: string
          description: Application Account Name
        sales_code_id:
          type: string
          description: Sales Code ID
        created_at:
          type: string
          description: Application Creation Date Time
          format: date-time
        status:
          type: string
          description: Application Status
          enum:
            - DRAFT
            - UNDER_REVIEW
            - NEED_INFORMATION
            - UNDERWRITING
            - APPROVED
            - MANUALLY_APPROVED
            - DECLINED
            - MANUALLY_DECLINED
            - CANCELLED
            - UNDERWRITING_ERROR
            - CREDIT_PENDED
            - REJECT_BY_SALES
            - CONDITIONALLY_APPROVED
            - DECLINE_REEVALUATION_INITIATED
            - REEVALUATION_PENDING
            - REEVALUATION_DECLINED
            - REEVALUATION_APPROVED
        company:
          $ref: '#/components/schemas/CompanyDto'
        address:
          $ref: '#/components/schemas/AddressExtDto'
        industry_volume:
          $ref: '#/components/schemas/ApplicationIndustryVolumeExtDto'
        ach_volume:
          type: integer
          description: Application Ach Volume Info
          format: int32
        services_deliveries:
          $ref: '#/components/schemas/ServicesDeliveriesDto'
        transaction_modes:
          $ref: '#/components/schemas/TransactionModesDto'
        owners:
          type: array
          description: Owners
          items:
            $ref: '#/components/schemas/AccountOwnerDto'
        partner_processing_plan_id:
          type: string
          description: Processing Plan Id
        processing_plan_data:
          $ref: '#/components/schemas/ProcessingPlanExtDto'
        terms_accepted:
          type: boolean
          description: Terms and Conditions are accepted or not
        business_users_exist:
          type: boolean
          description: Indicates whether any Business Users exist for parent Business
        underwriting_order_id:
          type: string
          description: Underwriting Marketplace Order Id
        underwriting_merchant_id:
          type: string
          description: Underwriting Merchant Id
        underwriting_terminal_id:
          type: string
          description: Underwriting Terminal Id
        application_link_id:
          type: string
          description: Application link Id
        application_link_uri:
          type: string
          description: Application link
        docs_requested:
          type: array
          description: 'Doc Type(s) Requested '
          items:
            type: string
            description: 'Doc Type(s) Requested '
        comments_from_underwriting:
          type: string
          description: Comments from underwriting
        partner_data:
          $ref: '#/components/schemas/PartnerDataDto'
        country:
          type: string
          description: Country code - US or CA
          default: US
        external_account_id:
          type: string
          description: >-
            Partner's external identifier for the account (e.g. partner system
            account ID)
        user_fields:
          type: object
          additionalProperties:
            type: object
            description: User-defined fields as free-form JSON object
          description: User-defined fields as free-form JSON object
        user_fields_schema:
          type: string
          description: >-
            JSON schema used to validate user_fields when the Partner has
            validate_user_fields_schema enabled. Sourced from the Partner
            configuration.
      description: Application Full Information
    AuthFeeDto:
      type: object
      properties:
        cp:
          maximum: 1000
          type: integer
          description: CP Auth Fee
          format: int32
        cnp:
          maximum: 1000
          type: integer
          description: CNP Auth Fee
          format: int32
      description: Auth fee information
    CardAcceptanceExtDto:
      type: object
      properties:
        card_type:
          type: string
          description: Acceptable card
          enum:
            - visa
            - mastercard
            - american_express
            - discover
        discount_fee:
          $ref: '#/components/schemas/CardDiscountFeeExtDto'
        state:
          type: string
          description: Acceptable card state
          enum:
            - ACTIVE
            - INACTIVE
      description: Card Acceptance information
    CardDiscountFeeExtDto:
      type: object
      properties:
        cp_bps:
          maximum: 1000
          minimum: 0
          type: integer
          description: CP bps
          format: int32
        cnp_bps:
          maximum: 1000
          minimum: 0
          type: integer
          description: CNP bps
          format: int32
      description: Card Discount fee information
    CompanyDto:
      type: object
      properties:
        ownership_type:
          type: string
          description: Company ownership type
          enum:
            - GOVERNMENT
            - SOLO_TRADER
            - PARTNERSHIP
            - PUBLIC
            - PRIVATE
            - TAX_EXEMPT_ORGANIZATION
            - LIMITED_LIABILITY_COMPANY
            - SOLE_PROPRIETORSHIP
            - GENERAL_PARTNERSHIP
            - LIMITED_PARTNERSHIP
            - PRIVATE_CORPORATION_FEDERALLY_OR_PROVINCIALLY_INCORPORATED
            - PUBLIC_CORPORATION_SHARES_TRADED_ON_EXCHANGE
            - COOPERATIVE_FOR_PROFIT
            - COOPERATIVE_NOT_FOR_PROFIT
            - NOT_FOR_PROFIT_ORGANIZATION_NON_CHARITY
            - REGISTERED_CHARITY
            - GOVERNMENT_ENTITY_FEDERAL_PROVINCIAL_MUNICIPAL_CROWN_CORPORATION
            - UNLIMITED_LIABILITY_CORPORATION_ULC
            - >-
              EXTRA_PROVINCIAL_CORPORATION_FOREIGN_CORPORATION_REGISTERED_IN_CANADA
            - FOREIGN_PARTNERSHIP_REGISTERED_IN_CANADA
            - COMMUNITY_CONTRIBUTION_COMPANY_FOR_PROFIT
            - COMMUNITY_CONTRIBUTION_COMPANY_NOT_FOR_PROFIT
        category:
          type: string
          description: Company category
          enum:
            - RETAIL
            - RESTAURANT
            - MOTO
            - ECOMMERCE
            - LODGING
            - CAR_RENTAL
            - PETROLEUM
            - QSR
        legal_name:
          type: string
          description: Legal name
        dba_name:
          type: string
          description: Company doing business as a name
        description:
          type: string
          description: Business description
        business_start_date:
          type: string
          description: Business Start Date
          format: date
        website:
          type: string
          description: Company Website
        timezone:
          type: string
          description: Company Timezone
          default: EST
          enum:
            - EST
            - HST
            - AKST
            - PST
            - MST
            - CST
        phone_number:
          type: string
          description: Company Phone number
          example: '8005550100'
        mcc:
          type: string
          description: Company MCC(Business Category)
      description: Company Information for Account
    FeesExtDto:
      type: object
      properties:
        chargeback:
          maximum: 5000
          type: integer
          description: Chargeback fee
          format: int32
        retrieval:
          maximum: 5000
          type: integer
          description: Retrieval fee
          format: int32
        batch:
          maximum: 5000
          type: integer
          description: Batch fee
          format: int32
        application:
          maximum: 10000
          type: integer
          description: Application fee
          format: int32
        monthly_minimum:
          maximum: 10000
          type: integer
          description: Monthly minimum fee
          format: int32
        pci_non_compliance:
          maximum: 10000
          type: integer
          description: PCI-Non compliance fee
          format: int32
        gateway:
          maximum: 10000
          type: integer
          description: Gateway fee
          format: int32
        early_cancellation:
          maximum: 100000
          type: integer
          description: Early Cancellation fee
          format: int32
        regulatory_product:
          maximum: 10000
          minimum: 0
          type: integer
          description: Regulatory Product fee
          format: int32
        dda_reject:
          maximum: 10000
          minimum: 0
          type: integer
          description: DDA Reject fee
          format: int32
        platform:
          maximum: 10000
          minimum: 0
          type: integer
          description: Platform fee
          format: int32
        token:
          maximum: 10000
          minimum: 0
          type: integer
          description: Token fee
          format: int32
      description: Fees information
    ProcessingPlanExtDto:
      required:
        - auth_fee
        - card_acceptances
        - fees
        - plan_type
      type: object
      properties:
        plan_type:
          type: string
          description: Plan type
          enum:
            - FLAT_RATE
            - IC_PLUS
            - ADVANCED
        card_acceptances:
          maxItems: 4
          minItems: 4
          type: array
          description: Acceptable card acceptances
          items:
            $ref: '#/components/schemas/CardAcceptanceExtDto'
        auth_fee:
          $ref: '#/components/schemas/AuthFeeDto'
        fees:
          $ref: '#/components/schemas/FeesExtDto'
        interchange_cost:
          type: string
          enum:
            - GROSS
            - NET
      description: Merchant Processing Plan creation information
    ServicesDeliveriesDto:
      type: object
      properties:
        same_day_delivery:
          type: integer
          description: Same Day Delivery percentage
          format: int32
        one_week_delivery:
          type: integer
          description: One week Delivery percentage
          format: int32
        two_week_delivery:
          type: integer
          description: Two week Delivery percentage
          format: int32
        one_month_delivery:
          type: integer
          description: Within one month Delivery percentage
          format: int32
        more_than_one_month_delivery:
          type: integer
          description: More than one month Delivery percentage
          format: int32
      description: Service Delivery Information
    TransactionModesDto:
      type: object
      properties:
        in_person:
          type: integer
          description: In Person transactions percentage
          format: int32
        online:
          type: integer
          description: Online transactions percentage
          format: int32
      description: Transaction Modes
    BusinessUserCreationRequestExtDto:
      required:
        - business_id
        - email
        - first_name
        - last_name
      type: object
      properties:
        business_id:
          type: string
          description: Business Id
        first_name:
          type: string
          description: User First Name
        last_name:
          type: string
          description: User Last Name
        email:
          maxLength: 70
          minLength: 0
          type: string
          description: User Email
      description: Business User Creation Information
    MagicLinkUserDto:
      type: object
      properties:
        id:
          type: string
          description: ID
          example: 123e4567-e89b-12d3-a456-426655440000
        login_url:
          type: string
          description: Login Url
      description: Business User Magic Link Information
    CompanyPayeeExtDto:
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Company Name
        legal_name:
          maxLength: 100
          minLength: 0
          type: string
          description: Company Legal Name
        email:
          maxLength: 254
          minLength: 0
          type: string
          description: Company Email
        phone_number:
          type: string
          description: Phone number
          example: '1234567890'
        website:
          maxLength: 70
          minLength: 0
          type: string
          description: Website
          example: www.example.com
        ownership_type:
          type: string
          description: Ownership Type
          enum:
            - SOLO_TRADER
            - PARTNERSHIP
            - PUBLIC
            - PRIVATE
            - TAX_EXEMPT_ORGANIZATION
            - LIMITED_LIABILITY_COMPANY
            - GOVERNMENT
        company_owners:
          type: array
          description: Owners info
          deprecated: true
          items:
            $ref: '#/components/schemas/PayeeOwnerBaseDto'
        owners:
          type: array
          description: Owners info
          items:
            $ref: '#/components/schemas/PayeeOwnerBaseDto'
        business_address:
          $ref: '#/components/schemas/AddressRequestDto'
      description: Company Payee Creation Information
    IndividualPayeeExtDto:
      type: object
      properties:
        first_name:
          maxLength: 50
          minLength: 0
          type: string
          description: Payee First Name
        last_name:
          maxLength: 50
          minLength: 0
          type: string
          description: Payee Last Name
        address:
          $ref: '#/components/schemas/AddressRequestDto'
        email:
          maxLength: 254
          minLength: 0
          type: string
          description: Email
        phone_number:
          pattern: \+?[0-9]{7,15}
          type: string
          description: Phone Number
      description: Individual Payee Creation Information
    PayeeLinkDto:
      type: object
      properties:
        application_data:
          $ref: '#/components/schemas/PayeeRequestExtBaseDto'
      description: Payee Link Request
    PayeeOwnerBaseDto:
      type: object
      properties:
        id:
          type: string
          description: Owner ID (read-only, server-generated)
          readOnly: true
        first_name:
          type: string
          description: Owner First Name
        last_name:
          type: string
          description: Owner Last Name
        email:
          type: string
          description: Owner Email
        phone_number:
          type: string
          description: Owner Phone Number
          example: '1234567890'
        residence_address:
          $ref: '#/components/schemas/AddressRequestDto'
        ownership_percent:
          type: integer
          description: Owner Ownership Percent
          format: int32
        title:
          type: string
          description: Owner Title
          enum:
            - OWNER
            - PARTNER
            - PRESIDENT
            - VICE_PRESIDENT
            - SECRETARY
            - TREASURER
            - CEO
            - CFO
            - COO
            - MEMBER
            - NA
      description: Payee Owner Base Information
    PayeeRequestExtBaseDto:
      type: object
      properties:
        individual:
          $ref: '#/components/schemas/IndividualPayeeExtDto'
        company:
          $ref: '#/components/schemas/CompanyPayeeExtDto'
      description: Payee Application Data
    DocumentsRequestDto:
      required:
        - document_types
        - received
        - required
      type: object
      properties:
        document_types:
          type: array
          description: Document type requested
          items:
            type: string
            description: Document type requested
        required:
          type: boolean
          description: Required document
        received:
          type: boolean
          description: Document received
        requested_date:
          type: string
          description: Document requested date
          format: date-time
        received_date:
          type: string
          description: Document received date
          format: date-time
        comments:
          type: string
          description: Documents comments
        underwriter:
          type: string
          description: Underwriter Requesting
      description: Documents Requested
    PayeeApplicationExtDto:
      type: object
      properties:
        parent_id:
          type: string
          description: Parent ID
        payee_application_id:
          type: string
          description: Payee Application ID
        link:
          type: string
          description: Payee Application Link
        expiration:
          type: string
          description: Payee Application Expiration
          format: date-time
        payee_id:
          type: string
          description: Payee ID
        payee_application_status:
          type: string
          description: Payee Application Status
        payee_status:
          type: string
          description: Payee Status
        application_data:
          $ref: '#/components/schemas/PayeeRequestExtBaseDto'
        documents_requested:
          $ref: '#/components/schemas/DocumentsRequestDto'
      description: Payee Application Extended Information
    BusinessLocationCreationRequestExtDto:
      required:
        - business_id
        - name
      type: object
      properties:
        business_id:
          type: string
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Location Name
      description: Business Location Creation Information
    BusinessCreationRequestExtDto:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Business Name
        contact_email:
          type: string
          description: Contact Email
        contact_phone_number:
          type: string
          description: Contact Phone Number
        contact_phone_extension:
          type: string
          description: Contact Phone Extension
        contact_first_name:
          maxLength: 50
          minLength: 2
          type: string
          description: Contact First Name
        contact_last_name:
          maxLength: 50
          minLength: 2
          type: string
          description: Contact Last Name
      description: Business Information
    BusinessExtDto:
      type: object
      properties:
        business_id:
          type: string
          description: Business Id
        name:
          type: string
          description: Business Name
        contact_email:
          type: string
          description: Contact Email
        contact_phone_number:
          type: string
          description: Contact Phone Number
        contact_phone_extension:
          type: string
          description: Contact Phone Extension
        contact_first_name:
          type: string
          description: Contact First Name
        contact_last_name:
          type: string
          description: Contact Last Name
        created_at:
          type: string
          description: Created At
          format: date-time
      description: Business Information
    ApplicationCreationRequestDto:
      required:
        - business_id
        - name
        - processing_plan_id
      type: object
      properties:
        business_id:
          type: string
          description: >-
            The Business ID under which the account will be created. Choose
            carefully: business users can manage accounts under the given
            Business, and this selection affects your workflows. The account
            will be scoped to this Business when approved.
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: >-
            Account name. Display name for the merchant account. Max 100
            characters.
        sales_code_id:
          maxLength: 50
          minLength: 0
          type: string
          description: Optional. Sales code identifier for tracking.
        sales_agent_id:
          maxLength: 50
          minLength: 0
          type: string
          description: Optional. Sales agent identifier for tracking.
        sales_group_id:
          maxLength: 50
          minLength: 0
          type: string
          description: Optional. Sales group identifier for tracking.
        company:
          $ref: '#/components/schemas/AccountCompanyRequestDto'
        address:
          $ref: '#/components/schemas/AddressRequestDto'
        industry_volume:
          $ref: '#/components/schemas/ApplicationIndustryVolumeExtDto'
        services_deliveries:
          $ref: '#/components/schemas/ServicesDeliveriesRequestDto'
        transaction_modes:
          $ref: '#/components/schemas/TransactionModesRequestDto'
        owners:
          type: array
          description: >-
            Owner information. At least one owner required for submit. For
            create, can be added later. When submitting, exactly one owner must
            have signer: true.
          items:
            $ref: '#/components/schemas/MerchantOwnerCreationRequestDto'
        processing_plan_id:
          type: string
          description: >-
            Processing plan ID. Required. Select before generating link or
            submitting.
        partner_data:
          $ref: '#/components/schemas/PartnerDataDto'
        country:
          maxLength: 10
          minLength: 0
          pattern: ^(US|CA)$
          type: string
          description: >-
            Country: US or CA. Determines validation rules and ownership types.
            Default US.
          default: US
        external_account_id:
          maxLength: 255
          minLength: 0
          type: string
          description: >-
            Optional. Your external identifier for the account (e.g. your
            system's account ID). Persisted and copied to the Account when
            approved.
        user_fields:
          type: object
          additionalProperties:
            type: object
            description: >-
              Optional. Your custom key-value data as a JSON object. Conforms to
              your user_fields_schema when enabled for your configuration.
          description: >-
            Optional. Your custom key-value data as a JSON object. Conforms to
            your user_fields_schema when enabled for your configuration.
    MerchantOwnerCreationRequestDto:
      type: object
      properties:
        first_name:
          maxLength: 100
          minLength: 2
          type: string
          description: Owner First Name
        last_name:
          maxLength: 100
          minLength: 2
          type: string
          description: Owner Last Name
        email:
          maxLength: 70
          minLength: 0
          type: string
          description: Owner email
          example: test@example.com
        phone_number:
          type: string
          description: Owner Phone number
          example: '1234567890'
        title:
          type: string
          description: >-
            Owner Title. Please refer to the guides for mapping of Title and
            Company's ownership type. 
          enum:
            - OWNER
            - PARTNER
            - PRESIDENT
            - VICE_PRESIDENT
            - SECRETARY
            - TREASURER
            - CEO
            - CFO
            - COO
            - MEMBER
            - NA
        ownership_percent:
          maximum: 100
          minimum: 0
          type: integer
          description: Ownership Percent
          format: int32
          example: 50
        ssn:
          type: string
          description: >-
            Owner SSN (US) or SIN (Canadian) - For US applications: Use SSN
            format (e.g., '123-45-6789'). For Canadian applications: Use SIN
            format (e.g., '989898899'). The validation will be determined by the
            address country field.
          example: '123456789'
        birth_date:
          type: string
          description: Owner BirthDate
          format: date
        residence_address:
          $ref: '#/components/schemas/AddressRequestDto'
        signer:
          type: boolean
          description: >-
            Is this the signer on the application? You must have one signer set
            to true.
      description: >-
        Merchant Owner Information - Supports both US (SSN) and Canadian (SIN)
        applications
    ApplicationLinkExtDto:
      type: object
      properties:
        link_id:
          type: string
          description: Application link Id
        uri:
          type: string
          description: Application link
        expiration_date:
          type: string
          description: Link expiration date
          format: date-time
        expired:
          type: boolean
          description: Is link expired or not
      description: Merchant Onboarding Application Link
    PayeeExtDto:
      type: object
      properties:
        id:
          type: string
          description: ID
          example: 123e4567-e89b-12d3-a456-426655440000
        name:
          type: string
          description: The Name of the entity
        parent_id:
          type: string
          description: Payee Parent ID
        parent_type:
          type: string
          description: Payee Parent Type
          example: BUSINESS
          default: PARTNER
          enum:
            - PARTNER
            - BUSINESS
        individual:
          $ref: '#/components/schemas/IndividualPayeeExtDto'
        company:
          $ref: '#/components/schemas/CompanyPayeeExtDto'
        status:
          type: string
          description: Payee Status
          enum:
            - ACTIVE
            - INACTIVE
            - PENDING
        type:
          type: string
          description: Payee Type
          enum:
            - INDIVIDUAL
            - COMPANY
        payouts_enabled:
          type: boolean
          description: Payouts Enabled
      description: Payee
    AccountDto:
      type: object
      properties:
        id:
          type: string
          description: Account id
        name:
          type: string
          description: Account name
        mid:
          type: string
          description: Account mid
        tid:
          type: string
          description: Account tid
          deprecated: true
        tids:
          type: array
          description: Account Terminal Id(s)
          items:
            $ref: '#/components/schemas/TerminalDto'
        recruited_by:
          type: string
          description: Account Recruited By User Name/Email
        company:
          $ref: '#/components/schemas/CompanyDto'
        processing_enabled:
          type: boolean
          description: Is Processing Enabled
        payouts_enabled:
          type: boolean
          description: Is Payouts Enabled
        onboarding_application_id:
          type: string
          description: Onboarding Application Id
        termination_comment:
          type: string
          description: Termination Comment
        business_id:
          type: string
          description: Business Id
        business_name:
          type: string
          description: Business Name
        location_id:
          type: string
          description: Location Id
        location_name:
          type: string
          description: Location Name
        address:
          $ref: '#/components/schemas/AddressExtDto'
        bank_account_id:
          type: string
          description: Bank Account Id
        bank_account_mask:
          type: string
          description: Bank Account Mask
        bank_account_validation_status:
          type: string
          description: Bank Account Validation Status
          enum:
            - PENDING_VALIDATION
            - VALIDATION_FAILED
            - VALIDATED
            - VALIDATION_INFO_REQUESTED
        status:
          type: string
          description: Merchant Status
          enum:
            - BOARDING
            - BOARDED
            - TERMINATED
        external_account_id:
          type: string
          description: >-
            Partner's external identifier for the account (e.g. partner system
            account ID)
        user_fields:
          type: object
          additionalProperties:
            type: object
            description: User-defined fields as free-form JSON object
          description: User-defined fields as free-form JSON object
      description: Account Information DTO
    TerminalDto:
      type: object
      properties:
        product_id:
          type: string
        product_name:
          type: string
        terminal_id:
          type: string
      description: Account Terminal Id(s)
    UserFilterRequestExtDto:
      required:
        - type
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        type:
          type: string
          description: User Type
          enum:
            - PARTNER
            - BUSINESS
        business_id:
          type: string
          description: Business Id
        email:
          type: string
          description: Email
      description: Pagination list request with filter
    MetaResponseDto:
      type: object
      properties:
        page:
          type: integer
          description: Current page number
          format: int32
        size:
          type: integer
          description: Current page size
          format: int32
        total_count:
          type: integer
          description: Total available count
          format: int64
      description: Meta
    PageResponseDtoBaseUserDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/BaseUserDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    ProcessingPlanFilterDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        name:
          type: string
          description: Filter by Processing Plan Name
      description: Processing Plan Filter
    AchFeesDto:
      type: object
      properties:
        ach_enabled:
          type: boolean
          description: Ach enabled
        ach_bps:
          maximum: 999
          type: integer
          description: Ach bps
          format: int32
        ach_txn_fee:
          maximum: 9999
          type: integer
          description: Ach transaction fee
          format: int32
        ach_max_fee:
          type: integer
          description: Ach max fee
          format: int32
        same_day_ach_bps:
          maximum: 999
          type: integer
          description: Same Day Ach bps
          format: int32
        same_day_ach_txn_fee:
          maximum: 9999
          type: integer
          description: Same Day Ach transaction fee
          format: int32
        same_day_ach_max_fee:
          type: integer
          description: Same Day Ach max fee
          format: int32
        linking_fee:
          type: integer
          description: Linking fee
          format: int32
        reversal_fee:
          maximum: 9999
          type: integer
          description: Reversal fee
          format: int32
        reject_fee:
          maximum: 9999
          type: integer
          description: Reject fee
          format: int32
      description: >-
        ACH fees (US). Mutually exclusive with EFT fees; use only for US
        processing plans.
    EftFeesDto:
      type: object
      properties:
        eft_allowed:
          type: boolean
          description: Whether EFT is allowed for the merchant application
        eft_bps:
          maximum: 999
          type: integer
          description: EFT bps
          format: int32
        eft_txn_fee:
          maximum: 9999
          type: integer
          description: EFT transaction fee
          format: int32
        eft_max_fee:
          type: integer
          description: EFT max fee
          format: int32
        linking_fee:
          type: integer
          description: Linking fee
          format: int32
        return_fee:
          maximum: 9999
          type: integer
          description: Return fee
          format: int32
        reject_fee:
          maximum: 9999
          type: integer
          description: Reject fee
          format: int32
      description: >-
        EFT fees (Canada). Mutually exclusive with ACH fees; use only for CA
        processing plans.
    FeesPaidByPartnerDto:
      type: object
      properties:
        chargeback:
          type: boolean
          description: Chargeback fee
        batch:
          type: boolean
          description: Batch fee
        retrieval:
          type: boolean
          description: Retrieval fee
        application:
          type: boolean
          description: Application fee
        monthly_minimum:
          type: boolean
          description: Monthly minimum fee
        pci_non_compliance:
          type: boolean
          description: PCI-Non compliance fee
        gateway:
          type: boolean
          description: Gateway fee
        early_cancellation:
          type: boolean
          description: Early Cancellation fee
        regulatory_product:
          type: boolean
          description: Regulatory Product fee
        dda_reject:
          type: boolean
          description: DDA Reject fee
        platform:
          type: boolean
          description: Platform fee
        token:
          type: boolean
          description: Token fee
        ach_linking:
          type: boolean
          description: ACH Linking fee
        ach_reject:
          type: boolean
          description: ACH Reject fee
        ach_reversal:
          type: boolean
          description: ACH Reversal fee
        eft_linking:
          type: boolean
          description: >-
            EFT / bank linking fee paid by partner (CA; same storage as
            ach_linking)
        eft_reject:
          type: boolean
          description: EFT reject fee paid by partner (CA; same storage as ach_reject)
        eft_reversal:
          type: boolean
          description: EFT reversal fee paid by partner (CA; same storage as ach_reversal)
      description: Fees information
    PageResponseDtoProcessingPlanDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/ProcessingPlanDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    ProcessingPlanDto:
      type: object
      properties:
        processing_plan_id:
          type: string
          description: Processing Plan Id
        partner_id:
          type: string
          description: Partner id
        state:
          type: string
          description: Processing Plan state
          enum:
            - ACTIVE
            - INACTIVE
        name:
          type: string
          description: Plan Name
        plan_type:
          type: string
          description: Plan type
          enum:
            - FLAT_RATE
            - IC_PLUS
            - ADVANCED
        description:
          type: string
          description: Plan Description
        card_acceptances:
          type: array
          description: Card acceptances
          items:
            $ref: '#/components/schemas/CardAcceptanceExtDto'
        interchange_plan_cost:
          type: string
          description: Interchange cost
          enum:
            - GROSS
            - NET
        auth_fee:
          $ref: '#/components/schemas/AuthFeeDto'
        ach_fees:
          $ref: '#/components/schemas/AchFeesDto'
        eft_fees:
          $ref: '#/components/schemas/EftFeesDto'
        fees:
          $ref: '#/components/schemas/FeesExtDto'
        fees_paid_by_partner:
          $ref: '#/components/schemas/FeesPaidByPartnerDto'
        created_at:
          type: string
          description: Processing Plan Creation Date Time
          format: date-time
        country:
          type: string
          description: Country code - US or CA
      description: >-
        Processing Plan information. US plans expose ach_fees; CA plans expose
        eft_fees (mutually exclusive).
    PayeeExtFilterRequestDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        sort_by:
          type: string
          enum:
            - NAME
        sort_direction:
          type: string
          enum:
            - ASC
            - DESC
        name:
          type: string
          description: Name
    PageResponseDtoPayeeBriefDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/PayeeBriefDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    PayeeBriefDto:
      type: object
      properties:
        id:
          type: string
          description: ID
          example: 123e4567-e89b-12d3-a456-426655440000
        name:
          type: string
          description: The Name of the entity
        email:
          type: string
          description: Payee Email
          example: npe@domain.com
        state:
          type: string
          description: State
        city:
          type: string
          description: City
        status:
          type: string
          description: Status
          enum:
            - ACTIVE
            - INACTIVE
            - PENDING
        payee_type:
          type: string
          description: Payee type
          enum:
            - INDIVIDUAL
            - COMPANY
        created_at:
          type: string
          description: Created at
          format: date-time
      description: Payee
    PayeeApplicationFilterRequestDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        sort_by:
          type: string
          enum:
            - NAME
        sort_direction:
          type: string
          enum:
            - ASC
            - DESC
        name:
          type: string
          description: Name
        application_status:
          type: string
          description: Application Status
          enum:
            - APPROVED
            - DRAFT
            - NEED_INFORMATION
            - REJECTED
            - UNDER_REVIEW
    PageResponseDtoPayeeApplicationExtDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/PayeeApplicationExtDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    MccCodeFilterRequestDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        active:
          type: boolean
          description: Show active MC Codes
      description: MC Codes Filter Request
    MccCodeDto:
      type: object
      properties:
        code:
          type: string
          description: MCC
        description:
          type: string
          description: MCC Description
        active:
          type: boolean
          description: MCC Status
      description: MCC Information
    PageResponseDtoMccCodeDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/MccCodeDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    BusinessLocationFilterRequestExtDto:
      required:
        - business_id
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        sort_by:
          type: string
          enum:
            - NAME
        sort_direction:
          type: string
          enum:
            - ASC
            - DESC
        business_id:
          type: string
          description: Business Id
        name:
          type: string
          description: Location Name
      description: Business Location Filter Information
    PageResponseDtoBusinessLocationExtDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/BusinessLocationExtDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    BusinessFilterRequestExtDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        sort_by:
          type: string
          enum:
            - PARTNER_NAME
            - NAME
            - CONTACT_NAME
            - CREATED_AT
        sort_direction:
          type: string
          enum:
            - ASC
            - DESC
        search_field:
          type: string
          description: Search by Name or Contact
      description: Business Information
    PageResponseDtoBusinessExtDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/BusinessExtDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    BankAccountExtFilterRequestExtDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        business_id:
          type: string
          description: Optional - Business Id you want to filter on
        status:
          type: string
          description: Optional - Bank Account Status
          enum:
            - ACTIVE
            - NOT_ACTIVE
        created_from:
          type: string
          description: Optional - Created Date From
          format: date-time
        country:
          type: string
          description: Optional Country code filter (US, CA)
      description: Bank Account pagination and filter request
    BankAccountExtDto:
      type: object
      properties:
        bank_account_id:
          type: string
          description: Bank Account Id
        business_id:
          type: string
          description: Business Id
        bank_account_name:
          type: string
          description: Bank Account Name
        bank_account_mask:
          type: string
          description: Bank Account Mask
        validation_status:
          type: string
          description: Bank Account Validation Status
          enum:
            - PENDING_VALIDATION
            - VALIDATION_FAILED
            - VALIDATED
            - VALIDATION_INFO_REQUESTED
        verification_status:
          type: string
          description: Bank Account Verification Status
          enum:
            - AUTOMATICALLY_VERIFIED
            - PENDING_AUTOMATIC_VERIFICATION
            - PENDING_MANUAL_VERIFICATION
            - MANUALLY_VERIFIED
            - VERIFICATION_EXPIRED
            - VERIFICATION_FAILED
            - VAULT_VERIFIED
        bank_account_status:
          type: string
          description: Bank Account Status
          enum:
            - ACTIVE
            - PENDING
            - DISABLED
        bank_account_active:
          type: boolean
          description: Bank Account Status
        created_at:
          type: string
          description: Created At
          format: date-time
        updated_at:
          type: string
          description: Updated At
          format: date-time
        removed_at:
          type: string
          description: Removed At
          format: date-time
        needs_info_comments:
          type: string
          description: Requested Info Comments
        needs_info_documents:
          type: array
          description: Requested Documents
          items:
            type: string
            description: Requested Documents
        country:
          type: string
          description: Country code (US, CA)
      description: Bank Account
    PageResponseDtoBankAccountExtDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/BankAccountExtDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    ApplicationFilterRequestDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        business_id:
          type: string
          description: Business Id
        search_field:
          type: string
          description: Search by Partner/Business/Account/Contact
        statuses:
          type: array
          description: Application Statuses
          items:
            type: string
            description: Application Statuses
            enum:
              - DRAFT
              - UNDER_REVIEW
              - NEED_INFORMATION
              - UNDERWRITING
              - APPROVED
              - MANUALLY_APPROVED
              - DECLINED
              - MANUALLY_DECLINED
              - CANCELLED
              - UNDERWRITING_ERROR
              - CREDIT_PENDED
              - REJECT_BY_SALES
              - CONDITIONALLY_APPROVED
              - DECLINE_REEVALUATION_INITIATED
              - REEVALUATION_PENDING
              - REEVALUATION_DECLINED
              - REEVALUATION_APPROVED
        created_from:
          type: string
          description: Application Created Date From
          format: date-time
        created_to:
          type: string
          description: Application Created Date To
          format: date-time
      description: Application Filter Request
    PageResponseDtoApplicationDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/ApplicationDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
    AccountFilterRequestDto:
      type: object
      properties:
        page:
          type: integer
          description: Requested page number
          format: int32
        size:
          type: integer
          description: Requested size number
          format: int32
        sort_by:
          type: string
          enum:
            - NAME
        sort_direction:
          type: string
          enum:
            - ASC
            - DESC
        name:
          type: string
          description: Account name
        business_id:
          type: string
          description: Business Id
    PageResponseDtoAccountDto:
      type: object
      properties:
        data:
          type: array
          description: Response data
          items:
            $ref: '#/components/schemas/AccountDto'
        meta:
          $ref: '#/components/schemas/MetaResponseDto'
      description: Page list response
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: API Key
