openapi: 3.0.0
servers:
  - url: 'https://api.devbank.apiture.com/accountApplications'
x-note: DO NOT EDIT THIS GENERATED FILE. Edit source file src/openapi/openapi.yaml
x-note-generated-by: openapi-schema-resolver
x-note-generated-on: '2020-09-16T08:46:19-0400'
info:
  title: Account Applications
  description: >
    This API manages _applications_ to create new accounts. An account application coordinates the following resources necessary to complete the
    application:

     * account applicant(s) and their identity verification status
     * banking product for the new account
     * documents (required documents, uploaded instances, approvals)
     * consents the applicant has given (such as terms and conditions for the banking product, electronic consent)
     * external funding account and amount (Transfer)
     * business verifications (for business accounts)
     * workflow/business process used to perform the application process
     * application approval


    These individual resources will be nested within in the full representation inside the application resource, but are omitted in the summary
    application representations that are returned in the `applications` collection. Only the banking product is required to create a new account
    application. The application retains snapshots of these objects as they existed when the application was reviewed.


    An application may be seeded with initial data. This allows "pre-approved" applications from external sources. All completed applications (whether
    `approved` or `rejected`) are retained indefinitely for auditing purposes. Incomplete applications expire after 30 days of inactivity or a period
    specified by the financial institution in the service configuration.


    Each banking product (such as a checking account or money market account) has an association to an _account application workflow definition_ which
    defines the business process for opening a new account for that product. This workflow is a set of tasks the user must perform in order to open a
    new account for that product. This service instantiates the workflow, sets the `accountApplication`, `accountApplicant`, `product`,
    `fundingAccount`, and `organization` properties of the workflow instance, and starts the workflow.


    **Note:** A task in the workflow typically performs the actual account creation. A valid account is necessary for an _initial funding_ operation
    to occur.


    Each application maintains a `state` field which indicates the state of that application: `pending`, `running`, `canceled`, `expired`, `rejected`,
    `approved`. The `pending` state is reserved for future use. The default state when creating a new application is `running`'


    Allowed state transitions are:

      * `running` &rarr; `canceled` | `expired`  | `approved` | `rejected`
      * `blocked` &rarr; `running`  | `canceled` | `expired`  | `approved` | `rejected`


    The service will also change an application's state from `blocked` to `running` once the condition that is blocking the application has changed
    (such as completion of workflow tasks or financial institution approvals.)


    This API also manages _enrollments_, which represent a new user enrolling in on-line digital banking. Enrollments consist of collecting personal
    information (name, address, phone, email, tax ID) and other personal data. Enrollments also support Customer Identification Program regulatory
    requirements, also known as "Know Your Customer", by verifying the user's identity and ensuring they are not involved with fraud or other risk
    factors. Enrollments are used when new users register in response to invitations to become joint owners or authorized signers on existing
    accounts. State transitions for enrollments are similar to those for applications.

    Note: This API uses the base path `/accountApplications` to avoid confusion with _software applications_.
  version: 0.18.1
  contact:
    name: Apiture
    url: 'https://developer.apiture.com'
    email: api@apiture.com
  termsOfService: 'https://developer.apiture.com/docs/Apiture-Open-API-License-Agreement.pdf'
tags:
  - name: Account Application
    description: Application for a new banking account
  - name: Account Application Actions
    description: Operations to update the state of an application
  - name: Enrollment
    description: Operations to update an enrollment
  - name: Enrollment Actions
    description: Operations which act on enrollments
  - name: API
    description: Endpoints which describe this API
  - name: Configuration
    description: A set of endpoints that allows for the creation and retrieval of configuration options specific to this service
paths:
  /expiredApplications:
    post:
      operationId: expireApplication
      security:
        - apiKey: []
          accessToken:
            - data/write
      summary: Expire an application
      description: >-
        Update an application by adding it to the set of expired applications. This changes the `state` property of the application to `expired`. This
        operation is available via the `apiture:expire` link on the application resource, if and only if the application is eligible for the expire
        operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match the
        current entity tag value of the application.


        This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
        already `expired`. This is a _terminal_ state: the application state cannot be changed once it has expired.
      tags:
        - Account Application Actions
      parameters:
        - $ref: '#/components/parameters/applicationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The application was updated and its `state` changed to `expired`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400ExpireApplication'
        '409':
          $ref: '#/components/responses/409ExpireApplicationConflict'
  /rejectedApplications:
    post:
      operationId: rejectApplication
      security:
        - apiKey: []
          accessToken:
            - data/write
      summary: Reject an application
      description: >-
        Reject an account application. This changes the `state` property of the application to `rejected`. This operation is available via the
        `apiture:reject` link on the application resource, if and only if the application is eligible for the reject operation. The response is the
        updated representation of the application. The `If-Match` request header value, if passed, must match the current entity tag value of the
        application.


        This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
        already `rejected`. This is a _terminal_ state: the application state cannot be changed once it has been rejected.
      tags:
        - Account Application Actions
      parameters:
        - $ref: '#/components/parameters/applicationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The application was updated and its `state` changed to `rejected`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400RejectApplication'
        '409':
          $ref: '#/components/responses/409RejectApplicationConflict'
  /approvedApplications:
    post:
      operationId: approveApplication
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
      summary: Approve an application
      description: >-
        Approve an account application. This changes the `state` property of the application to `approved`. This operation is available via the
        `apiture:approve` link on the application resource, if and only if the application is eligible for the approve operation. The response is the
        updated representation of the application. The `If-Match` request header value, if passed, must match the current entity tag value of the
        application.


        This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
        already `approved`. This is a _terminal_ state: the application state cannot be changed once it has been approved.
      tags:
        - Account Application Actions
      parameters:
        - $ref: '#/components/parameters/applicationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The application was updated and its `state` changed to `approved`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400ApproveApplication'
        '409':
          $ref: '#/components/responses/409ApproveApplicationConflict'
  /canceledApplications:
    post:
      operationId: cancelApplication
      security:
        - apiKey: []
          accessToken:
            - data/write
      summary: Cancel an application
      description: >-
        Cancel an account application. This changes the `state` property of the application to `canceled`. This also cancels the application workflow.
        This operation is available via the `apiture:cancel` link on the application resource, if and only if the application is eligible for the
        cancel operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match
        the current entity tag value of the application.


        This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
        already `canceled`. This is a _terminal_ state: the application state cannot be changed once it has been canceled.
      tags:
        - Account Application Actions
      parameters:
        - $ref: '#/components/parameters/applicationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The application was updated and its `state` changed to `canceled`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400CancelApplication'
        '409':
          $ref: '#/components/responses/409CancelApplicationConflict'
  /runningApplications:
    post:
      operationId: startApplication
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
      summary: Start an application
      description: >-
        Start an application by adding it to the set of running applications. This changes the `state` property of the application to `running`. This
        operation is available via the `apiture:start` link on the application resource, if and only if the application is eligible for the start
        operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match the
        current entity tag value of the application.


        This operation is only valid if the current state of the application is `blocked`. This operation does nothing if the state is already
        `running`.
      parameters:
        - $ref: '#/components/parameters/applicationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      tags:
        - Account Application Actions
      responses:
        '200':
          description: OK. The operation succeeded. The application was updated and its `state` changed to `running`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400StartApplication'
        '409':
          $ref: '#/components/responses/409StartApplicationConflict'
    get:
      summary: 'Return a collection of active, running account applications'
      description: >-
        Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
        [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
        collection of active running account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include
        pagination links. This is a virtual view of all applications, filtered to those whose state is `running`.
      operationId: getRunningApplications
      security:
        - apiKey: []
          accessToken:
            - data/read
      tags:
        - Account Application
      x-apiture-traits:
        sortBy:
          - name
          - state
        itemSchema: accountApplication
        filters:
          name:
            filter:
              - eq
              - ne
              - lt
              - le
              - gt
              - ge
              - startsWith
              - endsWith
              - contains
              - search
          state:
            filter:
              - eq
              - ne
              - in
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of account application representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
        - $ref: '#/components/parameters/stateQueryParam'
        - $ref: '#/components/parameters/nameQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/applications'
            application/json:
              schema:
                $ref: '#/components/schemas/applications'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
  /blockedApplications:
    get:
      summary: Return a collection of blocked account applications
      description: >-
        Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
        [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
        collection of active running account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include
        pagination links. This is a virtual view of all applications, filtered to those whose state is `blocked`.
      operationId: getBlockedApplications
      security:
        - apiKey: []
          accessToken:
            - data/read
      tags:
        - Account Application
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of account application representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/applications'
            application/json:
              schema:
                $ref: '#/components/schemas/applications'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
  /applications:
    get:
      summary: Return a collection of account applications
      description: >-
        Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
        [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
        collection of account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.

        Not all nested objects are supported for filtering or sorting applications. The following fields may be used: `accountName`, `applicantName`,
        `productName`, `organizationName', `state`, `createdAt`, `completedAt`
      operationId: getApplications
      security:
        - apiKey: []
          accessToken:
            - data/read
      tags:
        - Account Application
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of account application representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - name: applicant
          in: query
          description: >-
            Filter applications by applicant. The value must be an applicant's _contact_ URI, not the URI of a user. (To find applications for a
            _user_, pass the `href` from the `apiture:contact` link on the user resource.) An application resource is included in the response if and
            only if the named  contact is among the application's `applicants`. This query parameter exists for administrator use. The collection is
            automatically filtered to applications which a user created for non-administrator users.
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/applications'
            application/json:
              schema:
                $ref: '#/components/schemas/applications'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
    post:
      summary: Create a new account application
      description: >-
        Create a new account application. This also creates and starts the workflow that is associated with the primary banking product in the request
        body. The client should execute any interactive workflow tasks until the workflow reaches a terminal state and the system approves or rejects
        the application or the user cancels the application. Users can have only one running application at a time.
      operationId: createApplication
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
      tags:
        - Account Application
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: >-
                The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
                *`scheme`*`://host`
              schema:
                type: string
                format: uri
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createApplication'
          application/json:
            schema:
              $ref: '#/components/schemas/createApplication'
        description: The data necessary to create a new account application.
        required: true
  '/applications/{applicationId}':
    get:
      summary: Fetch a representation of this account application
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this account application resource.'
      operationId: getApplication
      security:
        - apiKey: []
          accessToken:
            - banking/read
            - profiles/read
            - data/read
      tags:
        - Account Application
      parameters:
        - $ref: '#/components/parameters/applicationIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account application resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Application'
    put:
      summary: Update this account application
      description: Perform a complete replacement of this account application.
      operationId: updateApplication
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
      tags:
        - Account Application
      parameters:
        - $ref: '#/components/parameters/applicationIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account application resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Application'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/application'
          application/json:
            schema:
              $ref: '#/components/schemas/application'
        required: true
    patch:
      summary: Update this account application
      description: >-
        Perform a partial update of this account application. Fields which are omitted are not updated. Nested `_embedded` and `_links` are ignored if
        included.
      operationId: patchApplication
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
      tags:
        - Account Application
      parameters:
        - $ref: '#/components/parameters/applicationIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account application resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/application'
            application/json:
              schema:
                $ref: '#/components/schemas/application'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Application'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/application'
          application/json:
            schema:
              $ref: '#/components/schemas/application'
        required: true
    delete:
      summary: Delete an unused or expired application
      description: >-
        Delete this account application resource. An application may only be deleted by the user if its `state` is `pending`, or by a financial
        institution if its `state` is `expired`.
      operationId: deleteApplication
      security:
        - apiKey: []
          accessToken:
            - banking/delete
            - profiles/delete
            - data/delete
      tags:
        - Account Application
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/applicationIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204Deleted'
        '409':
          description: >-
            Conflict. An application not be deleted by the applicant if the `state` is anything other than `pending`, or by the financial institution
            if the `state` is `expired`.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '412':
          $ref: '#/components/responses/412'
  /configurations:
    get:
      summary: Configuration definition for this API
      description: Returns the configuration for this API
      operationId: getConfiguration
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configuration'
            application/json:
              schema:
                $ref: '#/components/schemas/configuration'
  /configurations/groups:
    get:
      summary: Return a collection of configuration groups
      description: >-
        Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
        [filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable)
        collection of configuration groups. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
      operationId: getConfigurationGroups
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
  '/configurations/groups/{groupName}':
    get:
      summary: Fetch a representation of this configuration group
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group resource.'
      operationId: getConfigurationGroup
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-None-Match` request header for *`GET`* operations
                for this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationGroup'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationGroup'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
        '412':
          $ref: '#/components/responses/412'
  '/configurations/groups/{groupName}/schema':
    get:
      summary: Fetch the schema for this configuration group
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group schema resource.'
      operationId: getConfigurationGroupSchema
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
  '/configurations/groups/{groupName}/values':
    get:
      summary: Fetch the values for the specified configuration group
      description: Return a representation of this configuration group values resource.
      operationId: getConfigurationGroupValues
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationValues'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationValues'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
    put:
      summary: Update the values for the specified configuration group
      description: Perform a complete replacement of this set of values
      operationId: updateConfigurationGroupValues
      security:
        - apiKey: []
          accessToken:
            - admin/write
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationSchema'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404ConfigurationGroup'
        '412':
          $ref: '#/components/responses/412'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/configurationValues'
          application/json:
            schema:
              $ref: '#/components/schemas/configurationValues'
        required: true
  '/configurations/groups/{groupName}/values/{valueName}':
    get:
      summary: Fetch a single value associated with the specified configuration group
      description: >-
        Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration
        group.


        The response is always a JSON value which can be parsed with a strict JSON parser. The response may be
         * a primitive number, boolean, or quoted JSON string.
         * a JSON array.
         * a JSON object.
         * `null`.


        Examples:
          * `"a string configuration value"`
          * `120`
          * `true`
          * `null`
          * `{ "borderWidth": 8, "foregroundColor": "blue" }`


        To update a specific value, use `PUT /accountApplications/configurations/groups/{groupName}/values/{valueName}` (operation
        `updateConfigurationGroupValue`).
      operationId: getConfigurationGroupValue
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/configurationGroupValueNamePathParam'
      responses:
        '200':
          description: 'OK. The value of the named configuration value as a JSON string, number, boolean, array, or object.'
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                type: string
            application/json:
              schema:
                type: string
        '404':
          $ref: '#/components/responses/404ConfigurationGroupOrValue'
    put:
      summary: Update a single value associated with the specified configuration group
      description: >-
        Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration
        group as defined in the configuration group's `schema`. The request body must conform to  the configuration group's schema for the named
        `{valueName}`. This operation is idempotent.


        The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be
         * a primitive number, boolean, or quoted JSON string.
         * a JSON array.
         * a JSON object.
         * `null`.


        Examples:
          * `"a string configuration value"`
          * `120`
          * `true`
          * `null`
          * `{ "borderWidth": 8, "foregroundColor": "blue" }`


        To fetch specific value, use `GET /accountApplications/configurations/groups/{groupName}/values/{valueName}` (operation
        `getConfigurationGroupValue`).
      operationId: updateConfigurationGroupValue
      security:
        - apiKey: []
          accessToken:
            - admin/write
      tags:
        - Configuration
      parameters:
        - $ref: '#/components/parameters/configurationGroupNamePathParam'
        - $ref: '#/components/parameters/configurationGroupValueNamePathParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this configuration group resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                type: string
            application/json:
              schema:
                type: string
        '403':
          description: Access denied. Only user allowed to update configurations is an admin.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      requestBody:
        content:
          application/hal+json:
            schema:
              type: string
          application/json:
            schema:
              type: string
        description: >-
          The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or
          object.
        required: true
  /enrollments:
    get:
      summary: Return a collection of enrollments
      description: >-
        Return a [paginated](http://developer.apiture.com/docs/concepts/pagination) [sortable](http://developer.apiture.com/docs/concepts/sorting)
        [filterable](http://developer.apiture.com/docs/concepts/filtering) [searchable](http://developer.apiture.com/docs/concepts/searching)
        collection of enrollments. The [links](http://developer.apiture.com/docs/concepts/links) in the response include pagination links.
      operationId: getEnrollments
      tags:
        - Enrollment
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first enrollment item to include in this page. The default 0 denotes the beginning of the collection.
          schema:
            type: integer
            format: int64
            default: 0
        - name: limit
          in: query
          description: The maximum number of enrollment representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](http://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollments'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollments'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/read
    post:
      summary: Create a new enrollment
      description: >-
        Create a new enrollment. Creating an enrollment will create and start the workflow that is defined for enrollment in digital banking. The
        client should execute any interactive workflow tasks until the workflow reaches a terminal state and the system approves or rejects the
        application or the user cancels the application. A user may have only one active enrollment at a time.
      operationId: createEnrollment
      tags:
        - Enrollment
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: >-
                The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
                *`scheme`*`://host`
              schema:
                type: string
                format: uri
            ETag:
              description: An entity tag which may be passed in the `If-Match` request header for *`PUT`* or *`PATCH`* operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400'
      security:
        - apiKey: []
          accessToken:
            - data/read
            - profile/read
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createEnrollment'
          application/json:
            schema:
              $ref: '#/components/schemas/createEnrollment'
        description: The data necessary to create a new enrollment.
        required: true
  '/enrollments/{enrollmentId}':
    get:
      summary: Fetch a representation of this enrollment
      description: 'Return a [HAL](http://developer.apiture.com/docs/concepts/hal) representation of this enrollment resource.'
      operationId: getEnrollment
      tags:
        - Enrollment
      parameters:
        - $ref: '#/components/parameters/enrollmentIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this enrollment resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Enrollment'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
            - data/read
    put:
      summary: Update this enrollment
      description: Perform a complete replacement of this enrollment.
      operationId: updateEnrollment
      tags:
        - Enrollment
      parameters:
        - $ref: '#/components/parameters/enrollmentIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this enrollment resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Enrollment'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
            - data/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/enrollment'
          application/json:
            schema:
              $ref: '#/components/schemas/enrollment'
        required: true
    patch:
      summary: Update this enrollment
      description: >-
        Perform a partial update of this enrollment. Fields which are omitted are not updated. Nested `_embedded` and `_links` are ignored if
        included.
      operationId: patchEnrollment
      tags:
        - Enrollment
      parameters:
        - $ref: '#/components/parameters/enrollmentIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this enrollment resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Enrollment'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
            - data/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/enrollment'
          application/json:
            schema:
              $ref: '#/components/schemas/enrollment'
        required: true
    delete:
      summary: Delete this enrollment resource
      description: Delete this enrollment resource and any resources that are owned by it.
      operationId: deleteEnrollment
      tags:
        - Enrollment
      parameters:
        - $ref: '#/components/parameters/enrollmentIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204Deleted'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
            - data/delete
  /rejectedEnrollments:
    post:
      operationId: rejectEnrollment
      summary: Reject an enrollment
      description: >-
        Reject an enrollment. This changes the `state` property of the enrollment to `rejected`. This operation is available via the `apiture:reject`
        link on the enrollment resource, if and only if the enrollment is eligible for the reject operation. The response is the updated
        representation of the enrollment. The `If-Match` request header value, if passed, must match the current entity tag value of the enrollment.


        This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
        `rejected`. This is a _terminal_ state: the enrollment state cannot be changed once it has been rejected. Only service or administrator can
        call this operation, not end users.
      tags:
        - Enrollment Actions
      security:
        - apiKey: []
          accessToken:
            - profiles/write
            - data/write
            - admin/write
      parameters:
        - $ref: '#/components/parameters/enrollmentQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `rejected`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400RejectEnrollment'
        '409':
          $ref: '#/components/responses/409RejectEnrollmentConflict'
        '412':
          $ref: '#/components/responses/412'
  /approvedEnrollments:
    post:
      operationId: approveEnrollment
      summary: Approve an enrollment
      description: >-
        Approve an enrollment. This changes the `state` property of the enrollment to `approved`. This operation is available via the
        `apiture:approve` link on the enrollment resource, if and only if the enrollment is eligible for the approve operation, if the user has
        completed all enrollment requirements such as passing identity verification and accepting digital banking terms of use and the financial
        institution's privacy policy. The response is the updated representation of the enrollment. The `If-Match` request header value, if passed,
        must match the current entity tag value of the enrollment.


        This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
        `approved`. This is a _terminal_ state: the enrollment state cannot be changed once it has been approved. This operation can be called by
        services or administrators only, not end users.
      tags:
        - Enrollment Actions
      security:
        - apiKey: []
          accessToken:
            - banking/write
            - profiles/write
            - data/write
            - admin/write
      parameters:
        - $ref: '#/components/parameters/enrollmentQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `approved`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400ApproveEnrollment'
        '409':
          $ref: '#/components/responses/409ApproveEnrollmentConflict'
        '412':
          $ref: '#/components/responses/412'
  /canceledEnrollments:
    post:
      operationId: cancelEnrollment
      summary: Cancel an enrollment
      description: >-
        Cancel an enrollment. This changes the `state` property of the enrollment to `canceled`. This operation is available via the `apiture:cancel`
        link on the enrollment resource, if and only if the enrollment is eligible for the cancel operation. The response is the updated
        representation of the enrollment. The `If-Match` request header value, if passed, must match the current entity tag value of the enrollment.


        This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
        `canceled`. This is a _terminal_ state: the enrollment state cannot be changed once it has been canceled.
      tags:
        - Enrollment Actions
      security:
        - apiKey: []
          accessToken:
            - profiles/write
            - data/write
      parameters:
        - $ref: '#/components/parameters/enrollmentQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `canceled`.
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/enrollment'
            application/json:
              schema:
                $ref: '#/components/schemas/enrollment'
        '400':
          $ref: '#/components/responses/400CancelEnrollment'
        '409':
          $ref: '#/components/responses/409CancelEnrollmentConflict'
        '412':
          $ref: '#/components/responses/412'
  /:
    get:
      summary: Top-level resources and operations in this API
      description: Return links to the top-level resources and operations in this API.
      operationId: getApi
      security:
        - apiKey: []
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/root'
            application/json:
              schema:
                $ref: '#/components/schemas/root'
      tags:
        - API
  /apiDoc:
    get:
      summary: Return API definition document
      description: Return the OpenAPI document that describes this API.
      operationId: getApiDoc
      security:
        - apiKey: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/openapi+json;version=2.0:
              schema:
                type: object
            application/openapi+yaml;version=2.0:
              schema:
                type: object
            application/hal+json:
              schema:
                type: object
      tags:
        - API
x-apiture-traits:
  - api:
      title: Account Applications
      basePath: accountApplications
      links:
        - getApplications
        - createApplication
        - getApi
        - getApiDoc
        - getRunningApplications
        - getEnrollments
        - createEnrollment
      applied: true
  - resource:
      name: account application
      resource: application
      collection: applications
      applied: true
  - state:
      name: application
      state: running
      verb: start
      applied: true
  - state:
      name: application
      state: canceled
      verb: cancel
      applied: true
  - state:
      name: application
      state: approved
      verb: approve
      applied: true
  - state:
      name: application
      state: rejected
      verb: reject
      applied: true
  - state:
      name: application
      state: expired
      verb: expire
      applied: true
  - resource:
      name: enrollment
      applied: true
  - state:
      name: enrollment
      state: canceled
      verb: cancel
      applied: true
  - state:
      name: enrollment
      state: approved
      verb: approve
      applied: true
  - state:
      name: enrollment
      state: rejected
      verb: reject
      applied: true
  - state:
      name: application
      state: expired
      verb: expire
      applied: true
  - configurable:
      applied: false
  - security:
      applied: true
      baseScope: banking
x-apiture-errors:
  applicationNotFound:
    description: No applications were found for the specified applicationId
    remediation: Check to make sure that the supplied applicationId corresponds to an apiture application resource
  invalidContactId:
    description: No contact was found for the specified contactId
    remediation: Check to make sure that the supplied contactId corresponds to an apiture contact resource
  preconditionFailed:
    description: The supplied `if-Match` header value does not match the most recent `ETag` response header value. The resource has changed in the interim
    remediation: 'Resubmit the operation, supplying the value of the ETag and the most recent state of the resource'
  preconditionRequired:
    description: Precondition Required. The request did not include the required if-Match header
    remediation: 'Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource'
  productNotFound:
    description: No Products were found for the specified productId
    remediation: Check to make sure that the supplied productId corresponds to an apiture product resource
  productNotSupplied:
    description: A link to the product was not supplied for the account
    remediation: Include a link to a valid apiture product in the _links object of your request
  internalError:
    description: An unexpected internal server error occurred.
    remediation: Retry the operation again
  emptyRequestBody:
    description: The supplied request body was empty
    remediation: Check to make sure the body is included in your request
  malformedApplicationUri:
    description: The supplied applicationUri was malformed
    remediation: Check to make sure that the supplied applicationUri corresponds to an apiture application resource
  invalidGroupName:
    description: No configurationGroup was found for the specified groupName
    remediation: Check to make sure that the supplied groupName corresponds to an apiture transfer configuration group resource
  invalidValueName:
    description: No configurationName was found for the specified valueName
    remediation: Check to make sure that the supplied valueName corresponds to an apiture transfer configuration value resource
  invalidConfigurationGroup:
    description: The request body did not conform to the schema for this configuration group
    remediation: Check the schema for the configuration group and resubmit the operation
  invalidConfigurationValue:
    description: The request body did not conform to the schema for this configuration group value
    remediation: Check the schema for the configuration group value and resubmit the operation
  invalidApplicationState:
    description: Actions on applications may only be performed if they are in one of the required states
    remediation: Check the state of your application and the applicable allowed state transitions in the Applications API documentation
    attributes:
      properties:
        currentState:
          type: string
          description: The current `state` of the the application.
          example: expired
        requestedState:
          type: string
          description: The requested new `state` value in the request.
          example: approved
        requiredStates:
          type: array
          items:
            type: string
          description: The set of states the application must be in for the requested state change to be valid.
          example:
            - running
            - blocked
  invalidApplicationApproval:
    description: Application can only be approved when the workflow is completed and any approval records are approved
    remediation: Check the state of the workflow and associated approval records
    attributes:
      properties:
        currentState:
          type: string
          description: The current `state` of the the application.
          example: running
        workflowState:
          type: string
          description: The current `state` of the workflow associated with the application.
          example: running
        approvalStates:
          type: array
          items:
            type: string
          description: The state of the approvals in an application
          example:
            - approved
            - rejected
  unverifiedApplications:
    description: Initial application is either in process or under review.
    remediation: Retry the operation when there are no other in process applications
components:
  schemas:
    commonFields:
      title: Fields Common to Enrollments and Applications
      x-apiture-fragment: true
      description: Fields common to applications and enrollments (applications to enroll in digital banking).
      type: object
      properties:
        applicantName:
          title: Applicant Name
          description: >-
            The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
            applicant if present, or the current user.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Elsa Snowqueen
        workflowState:
          description: The state of the embedded application workflow. This is derived and immutable.
          type: string
          readOnly: true
          maxLength: 16
          minLength: 1
          example: running
        state:
          description: |
            The state of the enrollment or application. The values mean:
              * *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
                This state is reserved for future use.
              * *`running`* - Started and has not completed or been canceled.
              * *`blocked`* - Started but is blocked; there are no available workflow tasks.
              * *`canceled`* - Canceled prior to completion
              * *`expired`* - Not completed prior to a pre-defined application life cycle term.  For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
              * *`rejected`* - Completed but was rejected after review
              * *`approved`* - Completed and approved
            The value is updated by the various enrollment or application  operations.
          type: string
          enum:
            - pending
            - running
            - blocked
            - canceled
            - expired
            - rejected
            - approved
          readOnly: true
          example: running
        flaggedForReview:
          description: >-
            `true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
            the application, and is immutable.
          type: boolean
          readOnly: true
          example: false
        createdAt:
          description: >-
            The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
            `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          readOnly: true
          format: date-time
        completedAt:
          description: >-
            The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          format: date-time
          readOnly: true
      x-apiture-flattened: true
    applicationFields:
      title: Account Application Fields
      description: Common fields of the account application resource used to build other model schemas.
      properties:
        accountName:
          description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
          type: string
          maxLength: 128
        fundingAmount:
          description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
          allOf:
            - $ref: '#/components/schemas/money'
        attributes:
          description: >-
            An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
            object, the properties in that object are placed in the `attributes` of the new account that this application creates.
          allOf:
            - $ref: '#/components/schemas/attributes'
      x-apiture-fragment: true
      type: object
      x-apiture-flattened: true
    applicationObjects:
      title: Application Objects
      description: Additional objects related to a new account application.
      x-apiture-fragment: true
      type: object
      properties:
        products:
          description: >-
            The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
            items in the array are secondary associated products.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/summaryProduct'
        organization:
          description: The optional organization for a non-personal (business) account.
          type: object
          $ref: '#/components/schemas/organization'
        organizationVerification:
          description: The results of verifying a business or other organization.
          type: object
          $ref: '#/components/schemas/businessVerifications'
        organizationApprovals:
          description: Any Approvals for administrator verification of the organization.
          type: array
          items:
            $ref: '#/components/schemas/approval'
        accountApproval:
          description: >-
            An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
            `apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
          allOf:
            - $ref: '#/components/schemas/approval'
        fundingAccount:
          description: Contact information about the applicant.
          type: object
          $ref: '#/components/schemas/verifiedTransferAccount'
        newAccounts:
          description: >-
            New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
            `_links` to access each account.
          type: array
          items:
            $ref: '#/components/schemas/transferAccount'
      x-apiture-flattened: true
    createApplication:
      title: Create Account Application
      description: >-
        Representation of the request used to create a new account application. This does not create an _account_, just an _application_. When the
        application is completed and approved, the account will be created.

        The request must contain the following contents:
           * `products` - an array of one or more Product objects which determine
           the banking product for the new account(s). The first(required)
           item in
           the array is the primary account; others are optional secondary accounts in
           a product bundle. The products must be an
           _active_ internal account products that is eligible for
           opening new accounts. (`"newAccountAvailability": "available"`)

        These objects passed in the request may be complete object representations, or they may be "thin" objects with only
        [HAL](http://developer.apiture.com/docs/concepts/hal) `_links` with a `self` link containing the object URL; the application resource will
        fetch these objects.

        Creating an application will instantiate a workflow instance, based on a workflow definition that is associated with the primary banking
        product in the application. The client application should process that workflow instance and present any interactive tasks which are available
        to run, and continue until the workflow is done.
      x-apiture-version: 2.0.0
      required:
        - products
      example:
        _profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
        accountName: My checking account
        _links:
          'apiture:product':
            href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
        applicants:
          - username: Snowqueen123
            contact:
              firstName: Elsa
              lastName: Snowqueen
              _links:
                self:
                  href: 'https://www.example.com/users/user/3017d005-9910-4a8b-874b-397749353e7a'
            role:
              name: primaryUser
              label: Primary User
              _links:
                self:
                  href: 'https://www.example.com/associations/roles/3ad50a2a-3129-491f-9bd9-d4cccf54b228'
        products:
          - name: Personal Savings
            _links:
              self:
                href: 'https://www.example.com/products/products/40ed6e40-cffa-4944-8d54-f9b50ed2081f'
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - $ref: '#/components/schemas/applicationFields'
        - $ref: '#/components/schemas/commonObjects'
        - $ref: '#/components/schemas/applicationObjects'
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        accountName:
          description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
          type: string
          maxLength: 128
        fundingAmount:
          description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
          allOf:
            - $ref: '#/components/schemas/money'
        attributes:
          description: >-
            An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
            object, the properties in that object are placed in the `attributes` of the new account that this application creates.
          allOf:
            - $ref: '#/components/schemas/attributes'
        applicants:
          description: >-
            The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
            an array with one applicant, based on the current user.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/applicant'
        requiredDocuments:
          description: >-
            An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
            application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
            organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/requiredDocument'
        documents:
          description: >-
            An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
            verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/document'
        approvals:
          description: >-
            All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
            `apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
            `POST` operations (no request body).
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/approval'
        products:
          description: >-
            The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
            items in the array are secondary associated products.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/summaryProduct'
        organization:
          description: The optional organization for a non-personal (business) account.
          type: object
          $ref: '#/components/schemas/organization'
        organizationVerification:
          description: The results of verifying a business or other organization.
          type: object
          $ref: '#/components/schemas/businessVerifications'
        organizationApprovals:
          description: Any Approvals for administrator verification of the organization.
          type: array
          items:
            $ref: '#/components/schemas/approval'
        accountApproval:
          description: >-
            An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
            `apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
          allOf:
            - $ref: '#/components/schemas/approval'
        fundingAccount:
          description: Contact information about the applicant.
          type: object
          $ref: '#/components/schemas/verifiedTransferAccount'
        newAccounts:
          description: >-
            New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
            `_links` to access each account.
          type: array
          items:
            $ref: '#/components/schemas/transferAccount'
      type: object
      x-apiture-flattened: true
    summaryApplication:
      title: Account Application Summary
      description: >-
        Summary representation of an account application resource in account applications collections. This representation normally does not contain
        any `_embedded` objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
        applicantName: Elsa Snowqueen
        accountName: My Premiere Savings
        productName: Premiere Savings
        fundingAmount:
          value: '1500.00'
          currency: USD
        state: running
        workflowState: running
        createdAt: '2018-12-13T11:01:41.375Z'
        _links:
          self:
            href: 'https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c'
          'apiture:product':
            href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/commonFields'
        - $ref: '#/components/schemas/applicationFields'
        - properties:
            - _id
            - productName
            - organizationName
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        applicantName:
          title: Applicant Name
          description: >-
            The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
            applicant if present, or the current user.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Elsa Snowqueen
        workflowState:
          description: The state of the embedded application workflow. This is derived and immutable.
          type: string
          readOnly: true
          maxLength: 16
          minLength: 1
          example: running
        state:
          description: |
            The state of the enrollment or application. The values mean:
              * *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
                This state is reserved for future use.
              * *`running`* - Started and has not completed or been canceled.
              * *`blocked`* - Started but is blocked; there are no available workflow tasks.
              * *`canceled`* - Canceled prior to completion
              * *`expired`* - Not completed prior to a pre-defined application life cycle term.  For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
              * *`rejected`* - Completed but was rejected after review
              * *`approved`* - Completed and approved
            The value is updated by the various enrollment or application  operations.
          type: string
          enum:
            - pending
            - running
            - blocked
            - canceled
            - expired
            - rejected
            - approved
          readOnly: true
          example: running
        flaggedForReview:
          description: >-
            `true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
            the application, and is immutable.
          type: boolean
          readOnly: true
          example: false
        createdAt:
          description: >-
            The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
            `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          readOnly: true
          format: date-time
        completedAt:
          description: >-
            The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          format: date-time
          readOnly: true
        accountName:
          description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
          type: string
          maxLength: 128
        fundingAmount:
          description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
          allOf:
            - $ref: '#/components/schemas/money'
        attributes:
          description: >-
            An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
            object, the properties in that object are placed in the `attributes` of the new account that this application creates.
          allOf:
            - $ref: '#/components/schemas/attributes'
        _id:
          description: The unique identifier for this application. This is an immutable opaque string.
          readOnly: true
          type: string
        productName:
          description: >-
            The name of the banking product associated with this new account application. This is derived from the first product in the `products`
            array and is immutable.
          type: string
          readOnly: true
          maxLength: 128
          minLength: 1
          example: Personal Savings
        organizationName:
          description: >-
            The name of the organization, if this is an application for a business account. This will be derived from the organization resource, if
            present.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Smith's Auto Detailing
      type: object
      x-apiture-flattened: true
    application:
      title: Account Application
      description: >-
        An application for a new account. The resource contains summary fields that identify the account applicant, the primary product, and the state
        of the applications. The nested arrays and objects contains related resources which support the application: `applicants` and their identity
        verification, related `products`, documents, the `organization` (for business accounts), etc.
      x-apiture-links:
        - rel: 'apiture:expire'
          operationId: expireApplication
        - rel: 'apiture:reject'
          operationId: rejectApplication
        - rel: 'apiture:approve'
          operationId: approveApplication
        - rel: 'apiture:cancel'
          operationId: cancelApplication
        - rel: 'apiture:start'
          operationId: startApplication
        - rel: 'apiture:product'
          title: Product
          description: Links to the Product resource for this account application.
          verb: get
        - rel: 'apiture:applicant'
          title: Applicant
          description: Links to the User or Contact resource for this account application's applicant.
          verb: get
        - rel: 'apiture:organization'
          title: Organization
          description: 'Links to the Organization resource for this account application''s applicant, if the product is a business account.'
          verb: get
        - rel: 'apiture:fundingAccount'
          title: Funding Account
          description: Links to the account resource for this account application's applicant. This may be an internal account or an external account.
          verb: get
        - rel: 'apiture:workflow'
          title: Workflow
          description: Links to the workflow instance which is run in order to complete the account application.
          verb: get
        - rel: 'apiture:approval'
          title: Application Approval
          description: 'An Approval resource which is used to to approve or reject the application, should financial institution review be necessary.'
          verb: get
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
        applicantName: Elsa Snowqueen
        accountName: My Premiere Savings
        productName: Premiere Savings
        fundingAmount:
          value: '1500.00'
          currency: USD
        state: running
        workflowState: running
        createdAt: '2018-12-13T11:01:41.375Z'
        fundingAccount:
          title: Elsa Snowqueen
          institutionName: 3rd Party Bank
          routingNumber: '021000021'
          accountNumbers:
            full: '9876543210'
            masked: '*************3210'
        organization: {}
        applicants: []
        products: []
        documents: []
        accountApproval:
          _id: f3e5ba25-fd3e-47f2-895e-695eaa02fff6
          label: 'Account Approval: Premiere Savings, Elsa Snowqueen'
          state: open
          done: false
          typeName: accountApplication
          type:
            _id: bd10a515-5da8-40ec-bd4a-f60e958a297b
            name: accountApplication
            label: Account Application
            domain: 'https://api.apiture.com/approvals'
            _links:
              self:
                href: 'https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c'
          createdAt: '2019-12-14T06:41:35.375Z'
          _links:
            self:
              href: 'https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4'
        consents: []
        _links:
          self:
            href: 'https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c'
          'apiture:product':
            href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
          'apiture:workflow':
            href: 'https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121'
          'apiture:fundingAccount':
            href: 'https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2'
          'apiture:applicant':
            href: 'https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569'
          'apiture:organization':
            href: 'https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2'
          'apiture:approval':
            href: 'https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a'
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryApplication'
        - $ref: '#/components/schemas/commonObjects'
        - $ref: '#/components/schemas/applicationObjects'
        - properties:
            - _id
            - completedTaskCount
            - runningTaskCount
            - runningTaskNames
            - pendingTaskCount
            - blockedTaskCount
            - canceledTaskCount
            - expiresAt
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        applicantName:
          title: Applicant Name
          description: >-
            The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
            applicant if present, or the current user.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Elsa Snowqueen
        workflowState:
          description: The state of the embedded application workflow. This is derived and immutable.
          type: string
          readOnly: true
          maxLength: 16
          minLength: 1
          example: running
        state:
          description: |
            The state of the enrollment or application. The values mean:
              * *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
                This state is reserved for future use.
              * *`running`* - Started and has not completed or been canceled.
              * *`blocked`* - Started but is blocked; there are no available workflow tasks.
              * *`canceled`* - Canceled prior to completion
              * *`expired`* - Not completed prior to a pre-defined application life cycle term.  For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
              * *`rejected`* - Completed but was rejected after review
              * *`approved`* - Completed and approved
            The value is updated by the various enrollment or application  operations.
          type: string
          enum:
            - pending
            - running
            - blocked
            - canceled
            - expired
            - rejected
            - approved
          readOnly: true
          example: running
        flaggedForReview:
          description: >-
            `true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
            the application, and is immutable.
          type: boolean
          readOnly: true
          example: false
        createdAt:
          description: >-
            The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
            `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          readOnly: true
          format: date-time
        completedAt:
          description: >-
            The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          format: date-time
          readOnly: true
        accountName:
          description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
          type: string
          maxLength: 128
        fundingAmount:
          description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
          allOf:
            - $ref: '#/components/schemas/money'
        attributes:
          description: >-
            An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
            object, the properties in that object are placed in the `attributes` of the new account that this application creates.
          allOf:
            - $ref: '#/components/schemas/attributes'
        _id:
          description: The unique identifier for this application. This is an immutable opaque string.
          readOnly: true
          type: string
        productName:
          description: >-
            The name of the banking product associated with this new account application. This is derived from the first product in the `products`
            array and is immutable.
          type: string
          readOnly: true
          maxLength: 128
          minLength: 1
          example: Personal Savings
        organizationName:
          description: >-
            The name of the organization, if this is an application for a business account. This will be derived from the organization resource, if
            present.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Smith's Auto Detailing
        applicants:
          description: >-
            The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
            an array with one applicant, based on the current user.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/applicant'
        requiredDocuments:
          description: >-
            An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
            application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
            organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/requiredDocument'
        documents:
          description: >-
            An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
            verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/document'
        approvals:
          description: >-
            All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
            `apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
            `POST` operations (no request body).
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/approval'
        products:
          description: >-
            The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
            items in the array are secondary associated products.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/summaryProduct'
        organization:
          description: The optional organization for a non-personal (business) account.
          type: object
          $ref: '#/components/schemas/organization'
        organizationVerification:
          description: The results of verifying a business or other organization.
          type: object
          $ref: '#/components/schemas/businessVerifications'
        organizationApprovals:
          description: Any Approvals for administrator verification of the organization.
          type: array
          items:
            $ref: '#/components/schemas/approval'
        accountApproval:
          description: >-
            An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
            `apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
          allOf:
            - $ref: '#/components/schemas/approval'
        fundingAccount:
          description: Contact information about the applicant.
          type: object
          $ref: '#/components/schemas/verifiedTransferAccount'
        newAccounts:
          description: >-
            New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
            `_links` to access each account.
          type: array
          items:
            $ref: '#/components/schemas/transferAccount'
        completedTaskCount:
          description: The number of visible workflow tasks which have been completed.
          type: integer
          format: int32
          minimum: 0
          example: 4
          readOnly: true
        runningTaskCount:
          description: The number of visible workflow tasks which are currently running.
          type: integer
          format: int32
          minimum: 0
          example: 2
          readOnly: true
        runningTaskNames:
          description: The names of the tasks which are currently `running` in the application's workflow.
          readOnly: true
          type: array
          items:
            type: string
        pendingTaskCount:
          description: The number of visible workflow tasks which are still pending.
          type: integer
          format: int32
          minimum: 0
          example: 3
          readOnly: true
        blockedTaskCount:
          description: The number of visible workflow tasks which are blocked.
          type: integer
          format: int32
          minimum: 0
          example: 0
          readOnly: true
        canceledTaskCount:
          description: The number of visible workflow tasks which have been canceled.
          type: integer
          format: int32
          minimum: 0
          example: 0
          readOnly: true
        expiresAt:
          description: >-
            The date-time when the application expires. This is in [RFC 3339] (https://tools.ietf.org/html/rfc3339) UTC date-time format
            (`YYYY-MM-DDThh:mm:ss.sssZ`).
          type: string
          format: date-time
          readOnly: true
          example: '2019-08-28T10:19:24.000Z'
      type: object
      x-apiture-flattened: true
    enrollmentFields:
      title: Enrollment Fields
      description: Common fields of the enrollment resource used to build other model schemas.
      x-apiture-fragment: true
      properties:
        applicant:
          description: >-
            The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
            *Warning*: This property is deprecated. Use `applicants`.
          allOf:
            - $ref: '#/components/schemas/applicant'
      type: object
      x-apiture-flattened: true
    commonObjects:
      title: Common objects
      x-apiture-fragment: true
      description: Objects common to enrollments and applications.
      properties:
        applicants:
          description: >-
            The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
            an array with one applicant, based on the current user.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/applicant'
        requiredDocuments:
          description: >-
            An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
            application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
            organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/requiredDocument'
        documents:
          description: >-
            An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
            verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/document'
        approvals:
          description: >-
            All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
            `apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
            `POST` operations (no request body).
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/approval'
      type: object
      x-apiture-flattened: true
    createEnrollment:
      title: Create an Enrollment
      description: >-
        Representation of the request to enroll a user in digital banking.

        Creating an enrollment will instantiate a workflow instance, based on a workflow definition that is configured for new user enrollment. This
        will typically apply the financial institution's Customer Identification Program (CIP) process, a.k.a. their Know Your Customer process. The
        client application should monitor that workflow instance and present any interactive tasks which are available to run, and continue until the
        workflow is done.
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - $ref: '#/components/schemas/enrollmentFields'
        - $ref: '#/components/schemas/commonObjects'
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        applicant:
          description: >-
            The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
            *Warning*: This property is deprecated. Use `applicants`.
          allOf:
            - $ref: '#/components/schemas/applicant'
        applicants:
          description: >-
            The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
            an array with one applicant, based on the current user.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/applicant'
        requiredDocuments:
          description: >-
            An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
            application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
            organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/requiredDocument'
        documents:
          description: >-
            An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
            verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/document'
        approvals:
          description: >-
            All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
            `apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
            `POST` operations (no request body).
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/approval'
      type: object
      x-apiture-flattened: true
    summaryEnrollment:
      title: Digital Banking User Enrollment Summary
      description: Representation of enrollments in the collection.
      x-apiture-composition:
        - $ref: '#/components/schemas/commonFields'
        - $ref: '#/components/schemas/enrollmentFields'
        - properties:
            - _id
        - $ref: '#/components/schemas/abstractResource'
      properties:
        applicantName:
          title: Applicant Name
          description: >-
            The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
            applicant if present, or the current user.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Elsa Snowqueen
        workflowState:
          description: The state of the embedded application workflow. This is derived and immutable.
          type: string
          readOnly: true
          maxLength: 16
          minLength: 1
          example: running
        state:
          description: |
            The state of the enrollment or application. The values mean:
              * *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
                This state is reserved for future use.
              * *`running`* - Started and has not completed or been canceled.
              * *`blocked`* - Started but is blocked; there are no available workflow tasks.
              * *`canceled`* - Canceled prior to completion
              * *`expired`* - Not completed prior to a pre-defined application life cycle term.  For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
              * *`rejected`* - Completed but was rejected after review
              * *`approved`* - Completed and approved
            The value is updated by the various enrollment or application  operations.
          type: string
          enum:
            - pending
            - running
            - blocked
            - canceled
            - expired
            - rejected
            - approved
          readOnly: true
          example: running
        flaggedForReview:
          description: >-
            `true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
            the application, and is immutable.
          type: boolean
          readOnly: true
          example: false
        createdAt:
          description: >-
            The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
            `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          readOnly: true
          format: date-time
        completedAt:
          description: >-
            The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          format: date-time
          readOnly: true
        applicant:
          description: >-
            The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
            *Warning*: This property is deprecated. Use `applicants`.
          allOf:
            - $ref: '#/components/schemas/applicant'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this application. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    enrollment:
      title: Digital Banking User Enrollment
      description: Representation of the request to enroll a user in digital banking.
      x-apiture-links:
        - rel: 'apiture:expire'
          operationId: expireEnrollment
        - rel: 'apiture:reject'
          operationId: rejectEnrollment
        - rel: 'apiture:approve'
          operationId: approveEnrollment
        - rel: 'apiture:cancel'
          operationId: cancelEnrollment
        - rel: 'apiture:workflow'
          title: Workflow
          description: Links to the workflow instance which is run in order to complete the account enrollment.
          verb: get
        - rel: 'apiture:approval'
          title: Enrollment Approval
          description: 'An Approval resource which is used to to approve or reject the enrollment, should financial institution review be necessary.'
          verb: get
      x-apiture-composition:
        - $ref: '#/components/schemas/commonObjects'
        - $ref: '#/components/schemas/summaryEnrollment'
      properties:
        applicants:
          description: >-
            The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
            an array with one applicant, based on the current user.
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/applicant'
        requiredDocuments:
          description: >-
            An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
            application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
            organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/requiredDocument'
        documents:
          description: >-
            An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
            verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
          type: array
          items:
            $ref: '#/components/schemas/document'
        approvals:
          description: >-
            All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
            `apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
            `POST` operations (no request body).
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/approval'
        applicantName:
          title: Applicant Name
          description: >-
            The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
            applicant if present, or the current user.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
          example: Elsa Snowqueen
        workflowState:
          description: The state of the embedded application workflow. This is derived and immutable.
          type: string
          readOnly: true
          maxLength: 16
          minLength: 1
          example: running
        state:
          description: |
            The state of the enrollment or application. The values mean:
              * *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
                This state is reserved for future use.
              * *`running`* - Started and has not completed or been canceled.
              * *`blocked`* - Started but is blocked; there are no available workflow tasks.
              * *`canceled`* - Canceled prior to completion
              * *`expired`* - Not completed prior to a pre-defined application life cycle term.  For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
              * *`rejected`* - Completed but was rejected after review
              * *`approved`* - Completed and approved
            The value is updated by the various enrollment or application  operations.
          type: string
          enum:
            - pending
            - running
            - blocked
            - canceled
            - expired
            - rejected
            - approved
          readOnly: true
          example: running
        flaggedForReview:
          description: >-
            `true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
            the application, and is immutable.
          type: boolean
          readOnly: true
          example: false
        createdAt:
          description: >-
            The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
            `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          readOnly: true
          format: date-time
        completedAt:
          description: >-
            The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
          type: string
          format: date-time
          readOnly: true
        applicant:
          description: >-
            The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
            *Warning*: This property is deprecated. Use `applicants`.
          allOf:
            - $ref: '#/components/schemas/applicant'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this application. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    enrollments:
      title: Enrollment Collection
      x-apiture-version: 2.0.0
      description: >-
        Collection digital banking enrollments. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
        `_links` object may contain pagination links: `self`, `next`, `prev`, `first`, `last`, `collection`.
      example:
        _profile: 'https://api.apiture.com/schemas/accountApplications/enrollments/v2.0.0/profile.json'
        start: 10
        limit: 10
        count: 67
        _links:
          self:
            href: 'https://www.example.com/accountApplications/enrollments?start=10&limit=10'
          first:
            href: 'https://www.example.com/accountApplications/enrollments?start=0&limit=10'
          next:
            href: 'https://www.example.com/accountApplications/enrollments?start=20&limit=10'
          collection:
            href: 'https://www.example.com/accountApplications/enrollments'
        _embedded:
          items:
            anyOf:
              - _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
                _links:
                  self:
                    href: /accountApplications/enrollments/0399abed-fd3d-4830-a88b-30f38b8a365c
                _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
                name: My Personal Checking
                state: running
              - _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
                _links:
                  self:
                    href: /accountApplications/enrollments/0399abed-fd3d-4830-a88b-30f38b8a365d
                _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
                state: approved
      x-apiture-composition:
        - $ref: '#/components/schemas/collection'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          type: object
          description: Embedded resources.
          properties:
            items:
              description: An array containing a page of account application items.
              type: array
              items:
                $ref: '#/components/schemas/summaryEnrollment'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    applications:
      title: Account Application Collection
      description: >-
        Collection of account applications. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
        `_links` object may contain pagination links: `self`, `next`, `prev`, `first`, `last`, `collection`.
      x-apiture-version: 2.0.0
      example:
        _profile: 'https://api.apiture.com/schemas/accountApplications/applications/v2.0.0/profile.json'
        start: 10
        limit: 10
        count: 67
        name: account applications
        _links:
          self:
            href: 'https://www.example.com/accountApplications/applications?start=10&limit=10'
          first:
            href: 'https://www.example.com/accountApplications/applications?start=0&limit=10'
          next:
            href: 'https://www.example.com/accountApplications/applications?start=20&limit=10'
          collection:
            href: 'https://www.example.com/accountApplications/applications'
        _embedded:
          items:
            anyOf:
              - _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
                _links:
                  self:
                    href: /accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c
                _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
                name: My Personal Checking
                state: running
              - _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
                _links:
                  self:
                    href: /accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365d
                _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
                name: 6 Month CD
                state: approved
      x-apiture-composition:
        - $ref: '#/components/schemas/collection'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          type: object
          description: Embedded resources.
          properties:
            items:
              description: An array containing a page of account application items.
              type: array
              items:
                $ref: '#/components/schemas/summaryApplication'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    applicant:
      title: Applicant
      description: An applicant for a new account.
      properties:
        username:
          description: >-
            The unique username for the user. If omitted on a request, this field will be set for the primary applicant, based on the username of the
            authenticated user that creates the application. For co-owners and beneficial-owners this field is optional.
          type: string
        contact:
          description: A Contact object representing an individual contact.
          type: object
          allOf:
            - $ref: '#/components/schemas/contact'
        user:
          description: A User object representing an individual user.
          type: object
          allOf:
            - $ref: '#/components/schemas/summaryUser'
        role:
          description: >-
            The role the user has on the account. This is a Role resource from the Associations API; it must be a bank account role. The default is
            determined by the number of applicants and the type of account (personal vs. business).
          type: object
          allOf:
            - $ref: '#/components/schemas/role'
        verification:
          description: The verification status of the user or contact.
          type: object
          allOf:
            - $ref: '#/components/schemas/contactVerification'
        approvals:
          description: Any approvals associated with this applicant.
          type: array
          items:
            $ref: '#/components/schemas/approval'
        consents:
          description: >-
            An array of documents (such as terms and conditions, electronic consent) and the user's consent or agreement of the terms of those
            documents. The service configuration determines which consents are required for enrollment or account applications and sets this array on
            construction.
          type: array
          items:
            $ref: '#/components/schemas/consent'
        fraudReport:
          description: The fraud risk report for the applicant.
          type: object
          allOf:
            - $ref: '#/components/schemas/fraudRiskReport'
        verified:
          description: '`true` if and only if the applicant has been verified.'
          type: boolean
          readOnly: true
        verificationToken:
          description: >-
            A secure token that contains identity verification data about a given contact including their verified status.  The verified property in
            this applicant schema is derived from the Boolean status embedded in this token.  The data contained in this token is derived from the
            results of any identity verification service operations previously performed on the contact.
          type: string
          readOnly: true
      type: object
      x-apiture-flattened: true
    requiredDocument:
      title: Required Document
      description: >-
        An document which is required from the applicant.  If a `templateUri` is provided, the applicant must download the document from the
        `templateUri` and return it completed.
      type: object
      required:
        - label
        - type
        - productTarget
        - category
        - requireIfVerified
      properties:
        label:
          description: User friendly label of the document.
          type: string
        type:
          description: >-
            The document type as determined by the business use case. Unlike the contentType, this indicates what the document content represents
            (such as a `processedCheckImage`,  `mobileCheckDepositImageFront`, etc.). This `type` corresponds to the same `type` in the Vault API.
          type: string
          example: governmentId
        productTarget:
          description: >-
            The target of the relevant product, either `business` or `personal`. Note that `business` is synonymous with organizations in Apiture
            APIs.
          type: string
          enum:
            - business
            - personal
        documentUri:
          description: >-
            A URI pointing to a form document that the applicant is required to download, fill out, optionally scan, then upload (as a new document)
            to satisfy this document requirement. The form document must reside in the document storage system. This is the URI of a _shared_ document
            in the Vault API.
          type: string
        category:
          description: 'Required document category, within the enum of options. Required for compliance to categorize PII documents.'
          type: string
          enum:
            - driversLicense
            - militaryIdentification
            - passport
            - socialSecurityCard
            - stateIdentification
            - taxForm
            - utilityBill
            - articlesOfOrganization
          example: driversLicense
        requireIfVerified:
          description: >-
            Whether to require this document even if the associated applicant or business has passed verification.  If `true`, this document will
            always be required.
          type: boolean
      x-apiture-flattened: true
    document:
      title: Document (v1.0.0)
      description: Properties of a target document.
      required:
        - uri
        - contentType
        - revisedAt
      properties:
        uri:
          description: >-
            The URI of the target document that the user is consenting to. If the document is revised, this consent is marked as `stale`. (Note: This
            need not be a document in the Apiture vault.)
          type: string
          format: uri
          maxLength: 2048
        contentType:
          description: >-
            The [media type](https://tools.ietf.org/html/rfc6838) for the document. For text documents, the content type should include the text
            encoding; if omitted, the encoding type is assumed to be utf-8.
          example: application/pdf
        revisionId:
          description: >-
            The revision identifier of the document revision the user consented to. If the content management system in which the document is stored
            does not define revision identifiers or tags, this may be omitted and defaults to the revision time stamp.
          type: string
          example: '2019:1.2.0'
        revisedAt:
          description: >-
            The time stamp when the target document was last revised (modified), in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
            format (`YYYY-MM-DDThh:mm:ss.sssZ`).
          type: string
          format: date-time
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/document/v1.0.0/model.json'
      x-apiture-namespace: consents
      type: object
      x-apiture-flattened: true
    verifiedTransferAccount:
      title: Verified Transfer Account
      description: 'Details of the account, possibly an external account, used to fund the new account.'
      type: object
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        accountTitle:
          description: >-
            The title of the account. Traditionally, this is the name of the account holder. This field is deprecated and will be removed in a future
            release; use `title` instead.
          maxLength: 512
          type: string
          example: John Smith
        title:
          description: 'The title of the account. Traditionally, this is the name of the account holder.'
          maxLength: 512
          type: string
          example: John Smith
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
          readOnly: true
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution. The full routing number and full account number are required to
            fully identify the account.
          type: string
          minLength: 9
          maxLength: 9
          example: '021000021'
          readOnly: true
        accountNumbers:
          description: The account numbers for this account
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
        ifxType:
          description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
          allOf:
            - $ref: '#/components/schemas/ifxType'
          readOnly: true
        verificationReport:
          description: >-
            If this funding account is a new external account, this is an account verification report from an external account verification provider.
            It contains a pass/fail result based on risk factors. This property does not exist if the account is an internal account at this financial
            institution, or if this account is an external account that the user verified before starting this application.
          type: object
          allOf:
            - $ref: '#/components/schemas/verificationReport'
        state:
          description: The state of the external account.
          type: string
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/externalAccountState'
      x-apiture-composition:
        - $ref: '#/components/schemas/transferAccount'
      x-apiture-flattened: true
    errorResponse:
      x-apiture-version: 2.0.0
      title: Error Response (v2.0.0)
      description: 'Describes an error response, typically returned on 4xx or 5xx errors from API operations. The `_error` object contains the error details.'
      example:
        _profile: 'https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json'
        _error:
          _id: 2eae46e1-575c-4d69-8a8f-0a7b0115a4b3
          message: The value for deposit must be greater than 0.
          statusCode: 422
          type: positiveNumberRequired
          attributes:
            value: -125.5
          remediation: Provide a value which is greater than 0
          occurredAt: '2018-01-25T05:50:52.375Z'
          _links:
            describedby:
              href: 'https://api.apiture.com/errors/positiveNumberRequired'
          _embedded:
            errors: []
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
      type: object
      x-apiture-flattened: true
    configuration:
      x-apiture-version: 2.0.0
      title: Configuration
      description: Represents the configuration for various services.
      properties:
        _links:
          $ref: '#/components/schemas/links'
      example:
        _links:
          self:
            href: /configurations/configurations/
          'apiture:groups':
            href: /configurations/configurations/groups
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configuration/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      x-apiture-flattened: true
    configurationGroups:
      x-apiture-version: 2.0.0
      title: Configuration Group Collection
      description: >-
        Collection of configuration groups. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
        `_links` object may contain pagination links (`self`, `next`, `prev`, `first`, `last`, `collection`).
      example:
        _profile: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/profile.json'
        start: 10
        limit: 10
        count: 67
        name: configurationGroups
        _links:
          self:
            href: /configurations/configurations/groups?start=10&limit=10
          first:
            href: /configurations/configurations/groups?start=0&limit=10
          next:
            href: /configurations/configurations/groups?start=20&limit=10
          collection:
            href: /configurations/configurations/groups
        _embedded:
          items:
            anyOf:
              - _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
                _links:
                  self:
                    href: /configurations/groups/basic
                name: basic
                label: Basic Settings
                description: The basic settings for the Transfers API
              - _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
                _links:
                  self:
                    href: /configurations/groups/calendar
                name: calendar
                label: Calendar
                description: 'A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/collection'
        - properties:
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: Embedded objects.
          type: object
          properties:
            items:
              description: An array containing a page of configuration group items.
              type: array
              items:
                $ref: '#/components/schemas/configurationGroupSummary'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    configurationGroup:
      x-apiture-version: 2.0.0
      title: Configuration Group
      description: Represents a configuration group.
      example:
        _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
        _links:
          self:
            href: /configurations/groups/basic
        name: basic
        label: Basic Settings
        description: The basic settings for the Transfers API
        schema:
          type: object
          properties:
            dailyLimit:
              type: number
              description: The daily limit for the number of transfers
            cutoffTime:
              type: string
              format: time
              description: The cutoff time for scheduling transfers for the current day
        values:
          dailyLimit: 5
          cutoffTime: '17:30:00'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/configurationGroupSummary'
        - properties:
            - schema
            - values
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
          type: string
          maxLength: 48
          minLength: 1
          pattern: '[a-zA-Z][-\w_]*'
          example: transfers
        label:
          description: 'The text label for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 128
          minLength: 1
          example: Transfers Configuration
        description:
          description: 'The full description for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 4096
          minLength: 1
          example: The configuration for the Transfers API.
        schema:
          $ref: '#/components/schemas/configurationSchema'
        values:
          $ref: '#/components/schemas/configurationValues'
      type: object
      x-apiture-flattened: true
    configurationSchema:
      x-apiture-version: 2.0.1
      title: Configuration Schema (v2.0.1)
      description: |-
        The schema which defines the name and types of the
        variables that are part of this configuration definition.
        Property names must be simple identifiers
        which follow the pattern `letter [letter | digit | - | _]*`.

        This is implicitly a schema for `type: object`
        and contains the properties.


        The `values` in a configuration conform to the schema.
        The names and types are described with a subset of
        [JSON Schema Core](https://tools.ietf.org/html/draft-zyp-json-schema-04)
        and [JSON Schema Validation](https://tools.ietf.org/html/draft-fge-json-schema-validation-00)
        similar to that used to define schemas in
        [OpenAPI Specification 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject).
      type: object
      additionalProperties:
        $ref: '#/components/schemas/configurationSchemaValue'
      example:
        type: object
        properties:
          dailyLimit:
            type: number
            description: The daily limit for the number of transfers
          cutoffTime:
            type: string
            format: time
            description: The cutoff time for scheduling transfers for the current day
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchema/v2.0.1/model.json'
      x-apiture-namespace: configurations
      properties: {}
      x-apiture-flattened: true
    configurationValues:
      x-apiture-version: 2.0.0
      title: Configuration Values (v2.0.0)
      description: |-
        The data values associated with this configuration group:
        the group's variable names and values. These values must conform to this
        item's `schema`.


        *Note*: the `schema` may also contain `default` values
        which, if present, are used if a value is *not* set in the
        definition's `values`.


        For example, multiple configurations may use the same schema
        that defines values `a`, `b`, and `c`, but each configuration
        may have their own unique values for `a`, `b`, and `c`
        which is separate from the schema.
      type: object
      additionalProperties:
        $ref: '#/components/schemas/configurationValue'
      example:
        dailyLimit: 5
        cutoffTime: '17:30:00'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json'
      x-apiture-namespace: configurations
      properties: {}
      x-apiture-flattened: true
    root:
      x-apiture-version: 2.0.0
      title: API Root (v2.0.0)
      description: 'A HAL response, with hypermedia `_links` for the top-level resources and operations in API.'
      example:
        id: apiName
        name: API name
        apiVersion: 1.0.0
        _profile: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json'
        _links: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - name
            - apiVersion
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: This API's unique ID.
          readOnly: true
          type: string
        name:
          type: string
          description: This API's name.
        apiVersion:
          type: string
          description: This API's version.
      type: object
      x-apiture-flattened: true
    money:
      title: Money (v1.0.0)
      description: An amount of money in a specific currency.
      properties:
        value:
          description: >-
            The net monetary value. A negative amount denotes a debit; a positive amount a credit. The numeric value is represented as a string so
            that it can be exact with no loss of precision.
          example: '3456.78'
          type: string
        currency:
          description: >-
            The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. Note: ISO
            4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
          type: string
          minLength: 3
          maxLength: 3
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/transactions/money/v1.0.0/model.json'
      x-apiture-namespace: transactions
      type: object
      x-apiture-flattened: true
    attributes:
      x-apiture-version: 2.0.0
      title: Attributes (v2.0.0)
      description: An optional map of name/value pairs which contains additional dynamic data about the resource.
      type: object
      x-apiture-key: attributeName
      additionalProperties:
        $ref: '#/components/schemas/attributeValue'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json'
      x-apiture-namespace: common
      properties: {}
      x-apiture-flattened: true
    summaryProduct:
      title: Product Summary (v1.0.0)
      description: >-
        Summary representation of a product resource in products collections. This representation normally does not contain any `_embedded` objects.
        If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects. This representation omits the `attributes` of the
        full representation.


        This schema is version `v1.0.0`.
      example:
        _id: a6459cdf-543e-46df-887b-ac5378ee9acd
        _profile: 'https://api.apiture.com/schemas/products/product/v1.0.0/profile.json'
        _links:
          self:
            href: /products/products/a6459cdf-543e-46df-887b-ac5378ee9acd
          'apiture:productType':
            href: /products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8
          'apiture:productSubtype':
            href: /products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9
        name: Premiere Checking
        label: Premiere Checking
        description: A premiere demand deposit checking account for business use.
        state: active
        type: Demand Deposit
        subtype: Demand Deposit with Interest
        newAccountAvailability: available
        revision: '2018-04-25T07:56:46.375Z'
        _embedded: {}
        ifxType: DDA
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/summaryProduct/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/productFields'
        - $ref: '#/components/schemas/revisionEffectiveInterval'
        - properties:
            - _id
            - type
            - subtype
            - timeDeposit
            - constraints
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.


            The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
            or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
          allOf:
            - $ref: '#/components/schemas/prodState'
        name:
          description: The name of this product.
          type: string
          maxLength: 128
          minLength: 1
        label:
          description: The text label for this product. This field may be localized.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: >-
            A fuller description of this product. This field may be localized. The content is processed as  [Github Flavored
            Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) and thus supports rich text.
          type: string
          maxLength: 4096
          minLength: 1
          format: markdown
        code:
          description: >-
            The unique product code for this product, normally defined by the underlying banking core. The `code` cannot be changed once the `state`
            is beyond `pending`.
          type: string
          maxLength: 64
        newAccountAvailability:
          description: >-
            Indicates if the product is available for opening new accounts.
              * *`available`* means the product may be selected for a new account application.
              * *`notAvailable`* means the product may *not* be selected for a new account application.
            The default is `available`. Note that clients must check both the product `state` and the `newAccountAvailability` when listing products
            for new account opening. The `?openable=true` query parameter on `/accounts` combines these. Labels and descriptions for the enumeration
            values are in the `newAccountAvailability` key in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/newAccountAvailability'
        category:
          description: The product category name. This is a more readable form of the product's `type`.
          type: string
          example: Savings
        rate:
          description: The interest rate for this product.
          allOf:
            - $ref: '#/components/schemas/rate'
        revision:
          description: The revision string for this product. This property derived and immutable.
          type: string
        ifxType:
          description: The product IFX Account Type.
          allOf:
            - $ref: '#/components/schemas/ifxType'
        target:
          description: >-
            Describes the target audience or consumer of the accounts, `personal` or `business`. Labels and descriptions for the enumeration values
            are in the `productTarget` key in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/productTarget'
        effectiveStartAt:
          description: >-
            The date-time when this revision was created and became effective. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) formatted
            date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable.
          type: string
          format: date-time
        effectiveEndAt:
          description: >-
            The date-time when the another revision became effective and this revision ceased being effective. This is an [RFC
            3339](https://tools.ietf.org/html/rfc3339) formatted date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable and
            is not present until the revision is no longer active.
          type: string
          format: date-time
        _id:
          description: The unique identifier for this product resource. This is an immutable opaque string.
          readOnly: true
          type: string
        type:
          description: 'The product type name, which is derived from the linked product type.'
          type: string
          readOnly: true
        subtype:
          description: 'The product subtype name, which is derived from the linked product subtype. This is a derived, immutable property.'
          type: string
          readOnly: true
        timeDeposit:
          $ref: '#/components/schemas/timeDeposit'
        constraints:
          $ref: '#/components/schemas/constraints'
      type: object
      x-apiture-flattened: true
    organization:
      title: Organization
      description: |-
        Representation of content and descriptive data (mailing addresses,
        phone numbers, email addresses) for an organization.

        An organization which is used for a business banking account
        may have authorized signers, which are people authorized
        to perform banking operations on the business account(s) such as
        initiating funds transfers.

        Regulations require identifying an organization's _beneficial owners_:
        people who own 25% or more of a business. These may be listed and updated
        with the `getBeneficialOwners` and `updateBeneficialOwners` operations.

        An organization may have the following links in the `_links` object:
          * **`apiture:activate`** - Activate a new, pending organization.
          * **`apiture:deactivate`** - Deactivate an organization (if it
          is pending or active).
          * **`apiture:remove`** - Remove an inactive organization.
          * **`apiture:authorizedSigners`** - List the authorized signers.
          * **`apiture:beneficialOwners`** - List the beneficial owners.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        customerId: 000489353781
        _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
        name: Smith's Auto Detailing
        label: Smith's Detailing
        tradeName: Smith's Auto Detailing
        emailAddresses:
          - _id: ea0
            type: work
            value: smitties-detailing@example.com
        preferredEmailAddressId: ea0
        phones:
          - type: work
            number: (555) 555-5555
            _id: wp0
          - type: mobile
            number: (999) 555-5555
            _id: wp1
        preferredPhoneNumberId: wp0
        addresses:
          - type: work
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: wa0
        establishedDate: 2009-07-09T
        identification:
          - type: taxId
            value: 00-9999999
        state: active
        governmentOwned: false
        registeredIn: NC
        publiclyHeld: false
        smallBusiness: true
        taxExempt: false
        currency: USD
        estimatedAnnualRevenue: from1to10Million
        estimatedMonthlyAmounts:
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
          mobileCheckDeposit: upToOneHundredThousand
          receivedAch: upToOneHundredThousand
          sentAch: moreThanOneMillion
        type: corporation
        subtype: soleProprietorship
        employeeCountLowerBound: 1
        employeeCountUpperBound: 1
        countryOfOperations: US
        physicalLocationsCount: under10
        mobileCheckDepositEnabled: true
        achEnabled: true
        authorizedSigners: []
        beneficialOwners: []
        createdAt: '2018-04-17T10:04:46.375Z'
        updatedAt: '2018-04-17T10:12:58.375Z'
        _links:
          self:
            href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:deactivate':
            href: /organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c
        _embedded: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organization/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryOrganization'
        - properties:
            - createdAt
            - updatedAt
            - attributes
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'Embedded objects, as selected with the `?embed` query parameter.'
          type: object
          properties:
            authorizedSigners:
              $ref: '#/components/schemas/authorizedSigners'
            beneficialOwners:
              $ref: '#/components/schemas/beneficialOwners'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: The organization's official full name
          type: string
        label:
          description: The organization's common name.
          type: string
        type:
          description: |-
            Indicates what type of organization this resource represents.


            The enumeration values are described by the `organizationType`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationType'
        subtype:
          description: |-
            A refinement of the `type`.


            The enumeration values are described by the `organizationSubtype`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationSubtype'
        identification:
          description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
          type: array
          items:
            $ref: '#/components/schemas/organizationIdentification'
        addresses:
          description: An array containing address items.
          type: array
          items:
            $ref: '#/components/schemas/organizationAddress'
        phones:
          description: >-
            An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
            number.
          type: array
          items:
            $ref: '#/components/schemas/organizationPhoneNumber'
        emailAddresses:
          description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
          type: array
          items:
            $ref: '#/components/schemas/organizationEmailAddress'
        preferredEmailAddressId:
          description: |-
            The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
            This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredPhoneId:
          description: >-
            The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
            the `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        establishedDate:
          description: The date the organization was established.
          type: string
          format: date
        state:
          description: >-
            The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
            operation.
          allOf:
            - $ref: '#/components/schemas/organizationState'
        tradeName:
          type: string
          description: The trade name of the organization.
        governmentOwned:
          description: Indicates whether the organization is a government-owned entity.
          type: boolean
        publiclyHeld:
          description: Indicates whether the organization is publicly held.
          type: boolean
        smallBusiness:
          description: Indicates whether the organization is classified as a small business
          type: boolean
        taxExempt:
          description: Indicates whether the organization is the tax-exempt.
          type: boolean
        employeeCountRange:
          description: 'Indicates the approximate number of employees, as a range.'
          type: string
          x-apiture-choice: employeeCountRange
        employeeCountLowerBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: integer
          readOnly: true
          minimum: 1
        employeeCountUpperBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: number
          readOnly: true
          maximum: 20000000
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: Indicates what industry does this organization work within.
          type: string
          x-apiture-choice: industrySectors
        countryOfOperations:
          type: string
          description: The ISO 3166-1 country code for the organization's operation.
          minLength: 2
          maxLength: 2
        regulatory:
          description: Answers to organization-specific regulatory questions.
          allOf:
            - $ref: '#/components/schemas/regulatory'
        currency:
          description: >-
            The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
            4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
          type: string
          minLength: 3
          maxLength: 3
        mobileCheckDepositEnabled:
          description: Indicates that the organization use mobile check deposits.
          type: boolean
        achEnabled:
          description: Indicates that the organization use ACH transfers.
          type: boolean
        estimatedMonthlyAmounts:
          description: Estimated monthly amounts for banking services.
          allOf:
            - $ref: '#/components/schemas/estimatedMonthlyAmounts'
        accountPurpose:
          title: Account purpose
          description: The purpose of the account.
          allOf:
            - $ref: '#/components/schemas/accountPurpose'
        registeredIn:
          description: The US state or other region in which the organization is registered.
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
          x-apiture-choice: regionCodes
        _id:
          description: The unique identifier for this organization resource. This is an immutable opaque string.
          readOnly: true
          type: string
        customerId:
          description: >-
            The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
            organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
          type: string
          minLength: 1
          maxLength: 100
          readOnly: true
          example: 000489353781
        createdAt:
          description: The date-time when the organization was created.
          type: string
          format: date-time
        updatedAt:
          description: The date-time when the organization was updated
          type: string
          format: date-time
        attributes:
          type: object
          description: An optional map of name/value pairs which provide additional metadata about the organization.
      type: object
      x-apiture-flattened: true
    businessVerifications:
      x-apiture-version: 2.0.0
      title: Business Verifications (v2.0.0)
      description: >-
        Representation of the verification results that were previously generated by this service via the `POST /businessVerifications`. The result
        contains a link to `apiture:organization` if an `apiture:organization` link was passed on the request to create the report.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerifications/v2.0.0/model.json'
      x-apiture-namespace: businessVerifications
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - businessVerifications
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        businessVerifications:
          description: An array of business verification resources
          type: array
          items:
            $ref: '#/components/schemas/businessVerification'
      type: object
      x-apiture-flattened: true
    approval:
      title: Approval
      description: |-
        An approval represents the _review_ of some process, activity or resource,
        such as a document or an application. The state of the approval is
        recorded in its `state` property. The target of the approval is in the
        link named `apiture:target`; see the _Create Approval_ schema and
        `createApproval` operation.


        Links on an approval convey which state transitions are available.
        The client should use `POST` to invoke these operations, using the `href`
        on the named link object. No request body is used on these operations.


        The absence of a link indicates that the particular state transition is
        not available at that time or that the caller is not authorized to make
        the change. For example, a bank customer may lack permissions to approve a wire
        transfer they submitted.
      x-apiture-links:
        - rel: self
          operationId: getApproval
        - rel: 'apiture:approve'
          operationId: approveApproval
        - rel: 'apiture:reject'
          operationId: rejectApproval
        - rel: 'apiture:waive'
          operationId: waiveApproval
        - rel: 'apiture:return'
          operationId: returnApproval
        - rel: 'apiture:submit'
          operationId: submitApproval
        - rel: 'apiture:cancel'
          operationId: cancelApproval
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
        reason: Invalid U.S. Address
        createdAt: '2018-04-17T10:04:46.375Z'
        updatedAt: '2018-04-17T10:12:58.375Z'
        _links:
          self:
            href: /approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:approvalType':
            href: /approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd
          'apiture:target':
            href: /vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe
        _embedded:
          approvalType:
            _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
            _profile: 'https://api.apiture.com/schemas/approvals/approvalTypes/v1.0.0/profile.json'
            _links:
              self:
                href: /approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c
            name: governmentId
            label: Government Issued ID
            description: A document that identifies a user
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approval/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/updateApproval'
        - properties:
            - reason
            - createdAt
            - updatedAt
            - _embedded
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: Embedded objects.
          allOf:
            - $ref: '#/components/schemas/approvalEmbeddedObjects'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        label:
          description: 'The approval''s common name.  If omitted on create request, this will default to the label of the Approval Type.'
          type: string
        description:
          description: 'The approval''s description.  If omitted on create request, this will default to the description of the Approval Type.'
          type: string
        state:
          description: >-
            The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
            operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
            corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
            by the approval type.
          allOf:
            - $ref: '#/components/schemas/approvalState'
          readOnly: true
        done:
          description: >-
            If `done` is true, the approval is in a terminal state and may no longer be acted upon.  Done states include `canceled`, `approved`,
            `waived` or `rejected`. This property is derived from the `state` field and is immutable.
          type: boolean
          readOnly: true
        typeName:
          description: The name of the Approval Type.  This field is immutable and derived from the name of the Approval Type.
          type: string
        reviewedBy:
          description: The id of the User that reviewed the approval.
          type: string
          readOnly: true
        reviewedAt:
          description: The date-time when the approval was reviewed.
          type: string
          format: date-time
          readOnly: true
        _id:
          description: The unique identifier for this approval resource. This is an immutable opaque string.
          readOnly: true
          type: string
        attributes:
          type: object
          description: An optional map of name/value pairs which provide additional metadata about the approval.
        reason:
          description: 'The reason given for the last state change, such as why the approval was approved, rejected, waived, canceled, or returned.'
          type: string
          maxLength: 512
        createdAt:
          description: The date-time when the approval was created.
          type: string
          format: date-time
        updatedAt:
          description: The date-time when the approval was updated.
          type: string
          format: date-time
      type: object
      x-apiture-flattened: true
    transferAccount:
      title: Transfer Account (v1.0.0)
      description: Summary properties of the source and target account for a transfer.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/transfers/transferAccount/v1.0.0/model.json'
      x-apiture-namespace: transfers
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - accountTitle
            - title
            - institutionName
            - routingNumber
            - accountNumbers
            - ifxType
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        accountTitle:
          description: >-
            The title of the account. Traditionally, this is the name of the account holder. This field is deprecated and will be removed in a future
            release; use `title` instead.
          maxLength: 512
          type: string
          example: John Smith
        title:
          description: 'The title of the account. Traditionally, this is the name of the account holder.'
          maxLength: 512
          type: string
          example: John Smith
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
          readOnly: true
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution. The full routing number and full account number are required to
            fully identify the account.
          type: string
          minLength: 9
          maxLength: 9
          example: '021000021'
          readOnly: true
        accountNumbers:
          description: The account numbers for this account
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
        ifxType:
          description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
          allOf:
            - $ref: '#/components/schemas/ifxType'
          readOnly: true
      type: object
      x-apiture-flattened: true
    abstractRequest:
      x-apiture-version: 2.0.0
      title: Abstract Request (v2.0.0)
      description: >-
        An abstract schema used to define other request-only schemas. This is a [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource
        representation, minus the `_error` defined in `abstractResource`.
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
      example:
        _profile: '{uri of resource profile.json}'
        _links:
          self:
            href: '{uri of current resource}'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    abstractResource:
      x-apiture-version: 2.0.0
      title: Abstract Resource (v2.0.0)
      description: >-
        An abstract schema used to define other schemas for request and response bodies. This is a
        [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource representation. This model contains hypermedia `_links`, and either
        optional domain object data with `_profile` and optional `_embedded` objects, or an `_error` object. In responses, if the operation was
        successful, this object will not include the `_error`, but if the operation was a 4xx or 5xx error, this object will not include `_embedded`
        or any data fields, only `_error` and optionally `_links`.
      example:
        _profile: '{uri of resource profile.json}'
        _links:
          self:
            href: '{uri of current resource}'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - properties:
            - _error
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
      type: object
      x-apiture-flattened: true
    collection:
      x-apiture-version: 2.0.0
      title: Collection (v2.0.0)
      description: A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - count
            - start
            - limit
            - name
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        count:
          description: >-
            The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
            is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
            filter.
          type: integer
        start:
          description: The start index of this page of items.
          type: integer
        limit:
          description: The maximum number of items per page.
          type: integer
        name:
          description: The name of the collection.
          type: string
      type: object
      x-apiture-flattened: true
    contact:
      title: Contact
      description: 'Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual.'
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json'
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        suffix: MD
        identification:
          - type: taxId
            value: 111-11-1111
        emailAddresses:
          - _id: ea1
            value: api@apiture.com
            type: personal
          - _id: ek3
            value: support@apiture.com
            type: work
        preferredEmailAddressId: ea1
        phones:
          - _id: pa1
            type: home
            number: (555) 555-5555
          - _id: da6
            type: mobile
            number: (999) 555-5555
        preferredPhoneId: pa1
        birthdate: '1974-10-27'
        citizenship:
          - countryCode: US
            state: citizen
        residencyStatus: resident
        occupation: officeAndAdministrativeSupport
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha1
        identityVerification:
          provider: IDology
          sessionId: '123456'
          scoredAt: '2019-09-13T13:06:52.078Z'
          score: passed
          state: verified
        yearsAtAddress: 3
        mailingDifferentAddress: false
        kycAnswers:
          citizen: true
          permanentResident: true
          w9Withholdings: false
          employmentStatus: fullTime
          occupation: officeAndAdministrativeSupport
          foreignPoliticalFigure: false
          countryPoliticalFigure: N/A
          familyOfPoliticalFigure: false
        state: active
        createdAt: '2018-04-17T10:04:46.375Z'
        updatedAt: '2018-04-17T10:12:58.375Z'
        _links:
          self:
            href: /contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:deactivate':
            href: /contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contact/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryContact'
        - properties:
            - attributes
            - createdAt
            - updatedAt
      properties:
        kycAnswers:
          description: >-
            An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
            details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          x-apiture-pii: true
          type: object
        identityVerificationStatus:
          description: >-
            Use the `state` of `identityVerification`. The identity verification status for this person.  This field is read-only and is derived from
            the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
            record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: string
          readOnly: true
          enum:
            - verified
            - unverified
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
            verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: object
          allOf:
            - $ref: '#/components/schemas/identityVerification'
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: The state of this person's record.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/contactState'
        _id:
          description: The unique identifier for this contact resource. This is an immutable opaque string.
          readOnly: true
          type: string
        attributes:
          type: object
          description: An optional map of name/value pairs which provide additional metadata about the contact.
        createdAt:
          description: The date-time when the contact was created.
          type: string
          format: date-time
        updatedAt:
          description: The date-time when the contact was updated
          type: string
          format: date-time
      type: object
      x-apiture-flattened: true
    summaryUser:
      title: Summary User
      description: >-
        Summary representation of a user resource in user collections. This representation normally does not contain any `_embedded` objects. If
        needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/summaryUser/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - properties:
            - _id
            - customerId
        - $ref: '#/components/schemas/userFields'
        - $ref: '#/components/schemas/abstractResource'
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses. Add or delete addresses with the `createAddress` and `deleteAddress` operations.
          type: array
          items:
            type: object
            $ref: '#/components/schemas/userAddress'
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        emailAddresses:
          description: An array of email addresses. Add or delete email addresses with the `createEmailAddress` and `deleteEmailAddress` operations.
          type: array
          items:
            $ref: '#/components/schemas/userEmailAddress'
          readOnly: true
        preferredEmailAddressId:
          description: |-
            The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
             This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: >-
            The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with the
            `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
        kycAnswers:
          description: This user's answers Know Your Customer (KYC) questions.
          x-apiture-pii: true
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/kycAnswers'
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record.
          type: object
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/identityVerification'
        username:
          description: The unique username for the user.
          type: string
        state:
          description: |-
            The state of this user record. The default is `active`.
              * Users may not be deleted, but Users with a `state` of `active`, `inactive` or `locked`
                may be removed by `POST`ing to the `/removedUsers` endpoint via the `apiture:remove`
                endpoint. Removed users may not be reactivated.
              * Users with a `state` of `active` or `locked` may be deactivated by `POST`ing to
                the `/inactiveUsers` endpoint via the `apiture:deactivate` endpoint.
              * Users with a `state` of `inactive` or `locked` may be activated by `POST`ing to
                the `/activeUsers` endpoint via the `apiture:activate` endpoint.
              * Users with a `state` of `active` or `inactive` may be locked by `POST`ing to
                the `/lockedUsers` endpoint via the `apiture:lock` endpoint. A `state` of `locked`
                indicates a user has entered the password incorrectly too many times.
              * Users with a `state` of `active`, `inactive` or locked may be frozen by
                `POST`ing to the `/frozenUsers` endpoint via the `apiture:freeze` endpoint.
                A `state` of `frozen` indicates a user can no longer access online banking until
                the financial institution re-activates the user.
              * Users with a `state` of `active`, `inactive`, or `locked` may be
                merged by `POST`ing to the `/mergedUsers` endpoint via the `apiture:merge` endpoint.
                Merged users may not have their state changed.
          type: string
          enum:
            - active
            - inactive
            - locked
            - frozen
            - merged
            - removed
          x-apiture-enum: userState
        phoneNumbers:
          description: An array of phone numbers. Add or delete phoneNumbers with the `createPhoneNumber` and `deletePhoneNumber` operations.
          type: array
          items:
            $ref: '#/components/schemas/userPhoneNumber'
          readOnly: true
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this user resource. This is an opaque string.
          readOnly: true
          type: string
        customerId:
          description: >-
            The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
            user in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
          type: string
          minLength: 1
          maxLength: 100
          readOnly: true
          example: 00047294723672
      type: object
      x-apiture-flattened: true
    role:
      title: Role
      description: >-
        Representation of a role resource. Roles are used to associate resources. The most common roles may be related to entitlements(users) but can
        also be applied to organizations or non-users (such as beneficiaries, payees, etc.).
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
        _links:
          self:
            href: /associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c
        name: primaryUser
        label: Primary User
        createdAt: '2018-02-01T13:07:01.375Z'
        description: |-
          The account owner has full control across the account.

          There may be only one primary user.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/role/v1.0.0/model.json'
      x-apiture-namespace: associations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/updateRole'
        - properties:
            - createdAt
      properties:
        name:
          description: >-
            The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
            uses in the platform.
          type: string
          maxLength: 128
          minLength: 1
          example: primaryUser
        label:
          description: 'The text label for this role, for use in human presentation. This field may be localized.'
          type: string
          maxLength: 128
          minLength: 1
          example: Primary User
        description:
          description: A fuller description of this role. This field may be localized.
          type: string
          maxLength: 4096
          minLength: 1
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this role resource. This is an immutable opaque string.
          readOnly: true
          type: string
        createdAt:
          description: 'The date-time when the role was created. This is in ISO 8601 format, UTC. This is derived and immutable.'
          type: string
          format: date-time
          readOnly: true
      type: object
      x-apiture-flattened: true
    contactVerification:
      title: Verification (v2.0.0)
      description: The contact's verification history and status.
      x-apiture-version: 2.0.0
      example:
        _links:
          'apiture:user':
            href: /users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3
        verifications:
          - type: fraudRiskReport
            _links:
              self:
                href: /identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5
            state: passed
            createdAt: '2018-01-12T10:15:17Z'
          - type: quiz
            _links:
              self:
                href: /identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31
            state: passed
            createdAt: '2018-01-12T10:19:41Z'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/contactVerification/v2.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - verifications
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        verifications:
          description: The history of this contact's identity verifications.
          type: array
          items:
            $ref: '#/components/schemas/identityHistoryItem'
      type: object
      x-apiture-flattened: true
    consent:
      title: Consent
      description: Representation of a consent resource. Users consent or acceptance of a policy or other document.
      x-apiture-links:
        - rel: 'apiture:rescind'
          operationId: rescindConsents
        - rel: 'apiture:revoke'
          operationId: revokeConsent
        - rel: 'apiture:give'
          operationId: giveConsent
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/consents/consent/v1.0.0/profile.json'
        document:
          uri: /vault/files/fd44d565-0086-4caf-8d9f-3b7681809251/content
          contentType: application/pdf
          revisionId: '2019:1.02.0'
          revisedAt: '2019-07-23T08:26:45.375Z'
        state: given
        givenAt: '2019-07-23T13:27:34.375Z'
        type: productTermsAndConditions
        userId: 5a5e834c-a7bd-401c
        contextUri: /products/products/34011fe5-192d-4ffb-be32-e7215e56028a
        _links:
          self:
            href: /consents/consents/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:revoke':
            href: /consents/revokedConsents?consent=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:rescind':
            href: /consents/rescindedConsents?consent=0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consent/v1.0.0/model.json'
      x-apiture-namespace: consents
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryConsent'
      properties:
        document:
          description: Properties of the target document.
          allOf:
            - $ref: '#/components/schemas/document'
        type:
          description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
          type: string
        contextUri:
          description: >-
            The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
            consent of an account's terms and conditions, the context might be the banking product for that account.
          type: string
          format: uri
          maxLength: 2048
        userId:
          description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
          type: string
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this consent resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of this consent.
          allOf:
            - $ref: '#/components/schemas/consentStates'
          readOnly: true
        givenAt:
          description: >-
            The time stamp when the user last consented to the document, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
            (`YYYY-MM-DDThh:mm:ss.sssZ`). This property is not set if `state` is `pending`.
          type: string
          format: date-time
          readOnly: true
        requestRevokedAt:
          description: >-
            The time stamp when the user revoked consent, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
            (`YYYY-MM-DDThh:mm:ss.sssZ`). A revoked consent reflects a consent request that the user has previously given but has reversed. Revoking a
            consent sets the `state` back to `pending` and clears `consentedAt`.
          type: string
          format: date-time
          readOnly: true
        requestRescindedAt:
          description: >-
            The time stamp when the consent _request_ was rescinded by the requester, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
            format (`YYYY-MM-DDThh:mm:ss.sssZ`). A rescinded consent reflects a consent request that the system or application has issued in the past
            but no longer requires. For example, if a user is removed as an authorized signer from an account and a consent is pending for that
            account's terms and conditions, the Accounts service may rescind that consent request. This property is set only if `state` is
            `rescinded`.
          type: string
          format: date-time
          readOnly: true
      type: object
      x-apiture-flattened: true
    fraudRiskReport:
      title: Fraud-risk Report (v2.0.0)
      description: >
        The result of running a fraud-risk analysys.



        <h3 class='schema-links' id="fraudRiskReport-links" >Links</h3>


        Response and request bodies using this <strong><code>fraudRiskReport</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-getFraudRiskReport'><strong><code>self</code></strong></a></td><td>Fetch a representation of this fraud-risk
        report</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><strong><code>apiture:user</code></strong></td>

        <td>The user</td><td><code>GET</code></td>

        </table>
      x-apiture-version: 2.0.0
      x-apiture-links:
        - rel: self
          operationId: getFraudRiskReport
        - rel: 'apiture:user'
          method: get
          title: The user
          description: The user that this resource is verifying.
      example:
        _profile: 'https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json'
        _links:
          self:
            href: /identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5
          'apiture:user':
            href: /users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3
        _id: c6dbc32f-e0eb-4947-9819-c691bb9164a5
        type: fraudRiskReport
        inputs:
          identity:
            _profile: 'https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json'
            taxId: '*****3333'
            firstName: John
            lastName: Smith
            address1: 1741 Tiburon Dr
            city: Wilmington
            region: NC
            postalCode: '28403'
            phone: 555-555-5555
            birthdate: '1940-10-15'
            email: api@apiture.com
            ipAddress: 127.0.0.1
        outputs:
          state: passedWithRiskFactors
          fraudRiskCategories:
            - type: personalInfoDoesNotMatch
              description: The retrieved identity does not match the provided PII.
            - type: addressIsHighRisk
              description: The provided address is considered high-risk
            - type: addressIsPOBoxOrNonApproved
              description: The provided address is a PO Box or other non-approved address
            - type: identityOnGovernmentWatchlist
              description: The provided identity is located on one or more watchlists
            - type: ipRestricted
              description: The provided IP address is restricted
            - type: emailRestricted
              description: The provided email address is restricted
            - type: nonStandardTaxId
              description: 'The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer Identification Number)'
            - type: ageRestricted
              description: >-
                The provided identity does not meet the required age. Example: US COPPA laws forbid conducting e-commerce with people under 14 years
                of age.
          token: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/identityVerificationFields'
        - properties:
            - type
            - inputs
            - outputs
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          type: string
          description: A unique identifier for this resource instance. This is is an opaque string.
          readOnly: true
        createdAt:
          description: >-
            The date-time when the resource was created. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
            `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
        expiresAt:
          description: >-
            The date-time when the resource expires. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
            `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
        type:
          description: |
            The type of identity verification report. A fraud-risk report uses `type` of `fraudRiskReport`.
          allOf:
            - $ref: '#/components/schemas/identityVerificationType'
          readOnly: true
        inputs:
          $ref: '#/components/schemas/fraudRiskReportInputs'
        outputs:
          $ref: '#/components/schemas/fraudRiskReportOutputs'
      type: object
      x-apiture-flattened: true
    verificationReport:
      x-apiture-version: 2.0.0
      title: Verification Report (v2.0.0)
      description: Representation of verification report resources.
      example:
        createdAt: '2018-04-17T10:04:46.375Z'
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _embedded: {}
        input:
          businessName: ABC EXAMPLE CO.
          phone: 555-555-1234
          identification:
            - type: taxId
              value: 12-347894309
          authorizedSigners:
            - firstName: Jane
              lastName: Doe
              identification:
                - type: taxId
                  value: 121-34-5431
              birthdate: '1980-12-01'
              email: email@email.com
          addresses:
            - addressLine1: 3212 N. 2nd Ave.
              city: Wilmington
              regionCode: NC
              postalCode: '28412'
        reportScoringSummary:
          transactionId: 578490325jk439834yuf43
          state: failed
          businessVerification:
            - value: 40
              description: Strong verification of the input data is confirmed
          businessRiskFactors:
            - riskCode: '20'
              description: Unable to verify business address on business records
            - riskCode: '21'
              description: Unable to verify business TIN on business records
          comprehensiveVerificationScores:
            - inputRepNumber: '1'
              score: 20
              description: 'Full name, address, phone, SSN verified'
          authorizedRepresentativeRiskFactors:
            - riskCode: '81'
              description: The input date-of-birth was missing or incomplete
            - riskCode: '25'
              description: Unable to verify address
        reportResults: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationReport/v2.0.0/model.json'
      x-apiture-namespace: businessVerifications
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryVerificationReport'
        - properties:
            - createdAt
            - _embedded
            - input
            - reportScoringSummary
            - reportResults
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: The objects which participate in this verification report
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this verification report resource. This is an immutable opaque string.
          readOnly: true
          type: string
        reportScoringSummary:
          $ref: '#/components/schemas/verificationReportScoringSummary'
        createdAt:
          description: An ISO 8601 UTC time stamp indicating when the verification report was created.
          type: string
          format: date-time
        input:
          $ref: '#/components/schemas/createVerificationReport'
        reportResults:
          description: The raw verification report results
          type: object
      type: object
      x-apiture-flattened: true
    externalAccountState:
      x-apiture-version: 1.0.0
      title: External Account State
      description: >-
        The state of an external (linked) banking account. This field is immutable and derived.

          * **`pending`** : A new external account that has not been verified
          * **`verifying`** : A new account that is being verified. This state only
          applies to _external_ accounts.
          * **`failed`** : A external account which has failed account verification.
          * **`active`** : An account which is active and available for use
          and for making new transactions.
          * **`inactive`** : An account which is marked inactive and
          not available for new transactions. Inactive accounts
          may be changed back to active.
          * **`frozen`** : An account which is frozen and not eligible
          for new transactions. This is typically the result of
          suspicious activity or fraud detection. The user must contact
          their financial institution to unfreeze the account (by changing
          the state back to `active`) or the financial institution
          may opt to close the account.
          * **`closed`** : An account that is closed and removed from use.
          Closed accounts are not eligible for transactions or to become active.
          Such accounts are retained for historical purposes because some
          transactions may refer to it. Users do not see closed accounts
          when they view their accounts.
          * **`underReview`** : A new account that is being under review. This state only
          applies to _external_ accounts.

        To change the state of an account, `POST` the account ID to the corresponding resource endpoints, using the corresponding link on the account
        resource. To activate an account, use the `apiture:activate` link to `POST` to `/accounts/activeAccounts`. To deactivate an account, use the
        `apiture:deactivate` link to `POST` to `/accounts/inactiveAccounts`. To freeze an account, use the `apiture:freeze` link to `POST` to
        `/accounts/frozenAccounts`. To close an account, use the `apiture:close` link to `POST` to `/accounts/closedAccounts`. To under review an
        account, use the `apiture:review` link to `POST` to `/accounts/externalAccountsUnderReview`.
      type: string
      enum:
        - pending
        - verifying
        - failed
        - active
        - inactive
        - frozen
        - closed
        - underReview
      x-apiture-enum: externalAccountState
      example: active
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/externalAccountState/v1.0.0/model.json'
      x-apiture-namespace: accounts
      x-apiture-flattened: true
    configurationSchemaValue:
      x-apiture-version: 2.0.0
      title: Configuration Schema Value (v2.0.0)
      description: The data associated with this configuration schema.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      properties: {}
      x-apiture-flattened: true
    links:
      title: Links (v1.0.0)
      x-apiture-version: 1.0.0
      description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
      type: object
      x-apiture-key: linkRelationName
      additionalProperties:
        $ref: '#/components/schemas/link'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json'
      x-apiture-namespace: common
      properties: {}
      x-apiture-flattened: true
    configurationGroupSummary:
      x-apiture-version: 2.0.0
      title: Configuration Group Summary (v2.0.0)
      description: A summary of the data contained within a configuration group resource.
      example:
        _profile: 'https://api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/profile.json'
        _links:
          self:
            href: /configurations/groups/basic
        name: basic
        label: Basic Settings
        description: The basic settings for the Transfers API
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - name
            - label
            - description
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
          type: string
          maxLength: 48
          minLength: 1
          pattern: '[a-zA-Z][-\w_]*'
          example: transfers
        label:
          description: 'The text label for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 128
          minLength: 1
          example: Transfers Configuration
        description:
          description: 'The full description for this resource, suitable for presentation to the client.'
          type: string
          maxLength: 4096
          minLength: 1
          example: The configuration for the Transfers API.
      type: object
      x-apiture-flattened: true
    configurationValue:
      x-apiture-version: 2.0.0
      title: Configuration Value (v2.0.0)
      description: The data associated with this configuration.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
      type: object
      properties: {}
      x-apiture-flattened: true
    error:
      x-apiture-version: 2.0.0
      title: Error (v2.0.0)
      description: Describes an error in an API request or in a service called via the API.
      required:
        - message
      properties:
        message:
          type: string
          description: A localized message string describing the error condition.
        _id:
          description: >-
            A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at
            the source of the error). This is is an opaque string.
          readOnly: true
          type: string
        statusCode:
          description: The HTTP status code associate with this error.
          type: integer
          minimum: 100
          maximum: 599
          example: 422
        type:
          type: string
          description: >-
            An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to
            render an appropriate message or hint. This provides a finer level of granularity than the `statusCode`. For example, instead of just 400
            Bad Request, the `type` may be much more specific. such as `integerValueNotInAllowedRange` or `numericValueExceedsMaximum` or
            `stringValueNotInAllowedSet`.
        occurredAt:
          type: string
          format: date-time
          description: 'An [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp indicating when the error occurred.'
          example: '2018-02-02T03:37:15.375Z'
        attributes:
          description: >-
            Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the
            `minimum` and `maximum` values. This allows clients to present error messages as they see fit (the API does not assume the
            client/presentation tier). The set of attributes varies by error `type`.
          allOf:
            - $ref: '#/components/schemas/attributes'
        remediation:
          type: string
          description: An optional localized string which provides hints for how the user or client can resolve the error.
        errors:
          description: An optional array of nested error objects. This property is not always present.
          type: array
          items:
            $ref: '#/components/schemas/error'
        _links:
          $ref: '#/components/schemas/links'
      example:
        _id: 2eae46e1575c0a7b0115a4b3
        message: Descriptive error message...
        statusCode: 422
        type: errorType1
        remediation: Remediation string...
        occurredAt: '2018-01-25T05:50:52.375Z'
        errors:
          - _id: ccdbe2c5c938a230667b3827
            message: An optional embedded error
          - _id: dbe9088dcfe2460f229338a3
            message: Another optional embedded error
        _links:
          describedby:
            href: 'https://developer.apiture.com/errors/errorType1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    attributeValue:
      x-apiture-version: 2.0.0
      title: Attribute Value (v2.0.0)
      description: The data associated with this attribute.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json'
      x-apiture-namespace: common
      type: object
      properties: {}
      x-apiture-flattened: true
    summaryContact:
      title: Contact Summary
      description: >-
        Summary representation of a contact resource in contacts collections. This representation normally does not contain any `_embedded` objects.
        If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json'
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        suffix: MD
        identification:
          - type: taxId
            value: 111-11-1111
        emailAddresses:
          - _id: ea1
            value: api@apiture.com
            type: personal
          - _id: ek3
            value: support@apiture.com
            type: work
        preferredEmailAddressId: ea1
        phones:
          - _id: pa1
            type: home
            number: (555) 555-5555
          - _id: da6
            type: mobile
            number: (999) 555-5555
        preferredPhoneId: pa1
        birthdate: '1974-10-27'
        citizenship:
          - countryCode: US
            state: citizen
        residencyStatus: resident
        occupation: officeAndAdministrativeSupport
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha1
        identityVerification:
          provider: IDology
          sessionId: '123456'
          scoredAt: '2019-09-13T13:06:52.078Z'
          score: passed
          state: verified
        yearsAtAddress: 3
        mailingDifferentAddress: false
        kycAnswers:
          citizen: true
          permanentResident: true
          w9Withholdings: false
          employmentStatus: fullTime
          occupation: officeAndAdministrativeSupport
          foreignPoliticalFigure: false
          countryPoliticalFigure: N/A
          familyOfPoliticalFigure: false
        state: active
        _links:
          self:
            href: /contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/summaryContact/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/contactVerificationFields'
        - $ref: '#/components/schemas/identifiedContact'
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - state
            - _id
      properties:
        kycAnswers:
          description: >-
            An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
            details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          x-apiture-pii: true
          type: object
        identityVerificationStatus:
          description: >-
            Use the `state` of `identityVerification`. The identity verification status for this person.  This field is read-only and is derived from
            the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
            record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: string
          readOnly: true
          enum:
            - verified
            - unverified
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
            verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: object
          allOf:
            - $ref: '#/components/schemas/identityVerification'
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: The state of this person's record.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/contactState'
        _id:
          description: The unique identifier for this contact resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    accountNumbers:
      title: Account Numbers (v1.0.0)
      description: Different representations of an account number.
      properties:
        masked:
          description: >-
            A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in
            user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not
            sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full
            account number is the same as the mask length. This value is derived and immutable.
          type: string
          minLength: 8
          maxLength: 32
          readOnly: true
          example: '*************3210'
        full:
          description: >-
            The full account number. This value only appears when `?unmasked=true` is passed on the `GET` request. Not included in the summary
            representation of the account that is included in account collection responses. This value is derived and immutable.
          type: string
          minLength: 4
          maxLength: 17
          example: '9876543210'
          readOnly: true
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/accountNumbers/v1.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    ifxType:
      title: IFX Account Type (v1.0.0)
      description: >-
        A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values. Labels and descriptions for the
        enumeration values are in the `ifxType` key in the response of the `getLabels` operation.


        <strong><code>ifxType</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>CCA</code></strong></td><td>Credit card account</td>
            </tr>
        <tr>
            <td><strong><code>CDA</code></strong></td><td>Certificate of deposit account (CD)</td>
            </tr>
        <tr>
            <td><strong><code>CLA</code></strong></td><td>Commercial loan account</td>
            </tr>
        <tr>
            <td><strong><code>CMA</code></strong></td><td>Cash management account</td>
            </tr>
        <tr>
            <td><strong><code>DDA</code></strong></td><td>Demand deposit account</td>
            </tr>
        <tr>
            <td><strong><code>EQU</code></strong></td><td>Home equity loan</td>
            </tr>
        <tr>
            <td><strong><code>GLA</code></strong></td><td>General ledger account</td>
            </tr>
        <tr>
            <td><strong><code>ILA</code></strong></td><td>Installment loan account</td>
            </tr>
        <tr>
            <td><strong><code>INV</code></strong></td><td>Investment account</td>
            </tr>
        <tr>
            <td><strong><code>IRA</code></strong></td><td>Individual retirement account</td>
            </tr>
        <tr>
            <td><strong><code>IRL</code></strong></td><td>Accounts held in Ireland</td>
            </tr>
        <tr>
            <td><strong><code>LOC</code></strong></td><td>Consumer line of credit</td>
            </tr>
        <tr>
            <td><strong><code>MLA</code></strong></td><td>Military Lending Account: Credit facility held by former US service member</td>
            </tr>
        <tr>
            <td><strong><code>MMA</code></strong></td><td>Money market account</td>
            </tr>
        <tr>
            <td><strong><code>PBA</code></strong></td><td>Packaged bank Account: Account with additional benefits that charges a fixed monthly fee.</td>
            </tr>
        <tr>
            <td><strong><code>PPA</code></strong></td><td>Private pension administrator</td>
            </tr>
        <tr>
            <td><strong><code>RWD</code></strong></td><td>Reward accounts</td>
            </tr>
        <tr>
            <td><strong><code>SDA</code></strong></td><td>Savings deposit account</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `ifxType` in the response from the [`getLabels`](#op-getLabels) operation.
      x-apiture-enum: ifxType
      type: string
      enum:
        - CCA
        - CDA
        - CLA
        - CMA
        - DDA
        - EQU
        - GLA
        - ILA
        - INV
        - IRA
        - IRL
        - LOC
        - MLA
        - MMA
        - PBA
        - PPA
        - RWD
        - SDA
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/ifxType/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    summaryOrganization:
      title: Organization Summary
      description: >-
        Summary representation of an organization resource in organizations collections. This representation normally does not contain any `_embedded`
        objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
        _links:
          self:
            href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/summaryOrganization/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/organizationFields'
        - properties:
            - _id
            - customerId
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: The organization's official full name
          type: string
        label:
          description: The organization's common name.
          type: string
        type:
          description: |-
            Indicates what type of organization this resource represents.


            The enumeration values are described by the `organizationType`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationType'
        subtype:
          description: |-
            A refinement of the `type`.


            The enumeration values are described by the `organizationSubtype`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationSubtype'
        identification:
          description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
          type: array
          items:
            $ref: '#/components/schemas/organizationIdentification'
        addresses:
          description: An array containing address items.
          type: array
          items:
            $ref: '#/components/schemas/organizationAddress'
        phones:
          description: >-
            An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
            number.
          type: array
          items:
            $ref: '#/components/schemas/organizationPhoneNumber'
        emailAddresses:
          description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
          type: array
          items:
            $ref: '#/components/schemas/organizationEmailAddress'
        preferredEmailAddressId:
          description: |-
            The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
            This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredPhoneId:
          description: >-
            The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
            the `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        establishedDate:
          description: The date the organization was established.
          type: string
          format: date
        state:
          description: >-
            The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
            operation.
          allOf:
            - $ref: '#/components/schemas/organizationState'
        tradeName:
          type: string
          description: The trade name of the organization.
        governmentOwned:
          description: Indicates whether the organization is a government-owned entity.
          type: boolean
        publiclyHeld:
          description: Indicates whether the organization is publicly held.
          type: boolean
        smallBusiness:
          description: Indicates whether the organization is classified as a small business
          type: boolean
        taxExempt:
          description: Indicates whether the organization is the tax-exempt.
          type: boolean
        employeeCountRange:
          description: 'Indicates the approximate number of employees, as a range.'
          type: string
          x-apiture-choice: employeeCountRange
        employeeCountLowerBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: integer
          readOnly: true
          minimum: 1
        employeeCountUpperBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: number
          readOnly: true
          maximum: 20000000
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: Indicates what industry does this organization work within.
          type: string
          x-apiture-choice: industrySectors
        countryOfOperations:
          type: string
          description: The ISO 3166-1 country code for the organization's operation.
          minLength: 2
          maxLength: 2
        regulatory:
          description: Answers to organization-specific regulatory questions.
          allOf:
            - $ref: '#/components/schemas/regulatory'
        currency:
          description: >-
            The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
            4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
          type: string
          minLength: 3
          maxLength: 3
        mobileCheckDepositEnabled:
          description: Indicates that the organization use mobile check deposits.
          type: boolean
        achEnabled:
          description: Indicates that the organization use ACH transfers.
          type: boolean
        estimatedMonthlyAmounts:
          description: Estimated monthly amounts for banking services.
          allOf:
            - $ref: '#/components/schemas/estimatedMonthlyAmounts'
        accountPurpose:
          title: Account purpose
          description: The purpose of the account.
          allOf:
            - $ref: '#/components/schemas/accountPurpose'
        registeredIn:
          description: The US state or other region in which the organization is registered.
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
          x-apiture-choice: regionCodes
        _id:
          description: The unique identifier for this organization resource. This is an immutable opaque string.
          readOnly: true
          type: string
        customerId:
          description: >-
            The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
            organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
          type: string
          minLength: 1
          maxLength: 100
          readOnly: true
          example: 000489353781
      type: object
      x-apiture-flattened: true
    authorizedSigners:
      title: Authorized Signers (v1.0.0)
      description: The list of users who are authorized to access the organization and its bank accounts.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - items
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        items:
          description: >-
            The array of authorized signers for this business and their role within the organization. These people have account access for all
            business accounts owned by the business. The items in this array must all have the `type` of `authorizedSigner`.
          type: array
          minLength: 1
          items:
            $ref: '#/components/schemas/authorization'
      type: object
      x-apiture-flattened: true
    beneficialOwners:
      title: Beneficial Owners (v1.0.0)
      description: >-
        A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed
        100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the
        future.
      required:
        - items
      example:
        items:
          firstName: William
          lastName: Wellphunded
          addresses:
            - addressLine1: 1234 S Front Street
              city: Wilmington
              regionCode: NC
              postalCode: 28401-5405
              countryCode: US
              type: home
          role: Chief Financial Officer
          percentage: 35
          birthdate: {}
          identification:
            - type: taxId
              value: 111-11-1111
        _links:
          self:
            href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c/beneficialOwners
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - items
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        items:
          description: 'A list of people who own at least 25% of the business, and the percentage owned.'
          type: array
          maxLength: 10
          items:
            $ref: '#/components/schemas/beneficialOwner'
      type: object
      x-apiture-flattened: true
    summaryConsent:
      title: Consent Summary
      description: >-
        Summary representation of a consent resource in consents collections. This representation normally does not contain any `_embedded` objects.
        If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/consents/summaryConsent/v1.0.0/profile.json'
        document:
          uri: /vault/files/fd44d565-0086-4caf-8d9f-3b7681809251/content
          contentType: application/pdf
          revisedAt: '2019-07-23T08:26:45.375Z'
        type: productTermsAndConditions
        userId: 5a5e834c-a7bd-401c
        state: pending
        contextUri: /products/products/34011fe5-192d-4ffb-be32-e7215e56028a
        _links:
          self:
            href: /consents/consents/0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/summaryConsent/v1.0.0/model.json'
      x-apiture-namespace: consents
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/consentFields'
        - properties:
            - _id
            - state
            - givenAt
            - requestRevokedAt
            - requestRescindedAt
        - $ref: '#/components/schemas/abstractResource'
      properties:
        document:
          description: Properties of the target document.
          allOf:
            - $ref: '#/components/schemas/document'
        type:
          description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
          type: string
        contextUri:
          description: >-
            The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
            consent of an account's terms and conditions, the context might be the banking product for that account.
          type: string
          format: uri
          maxLength: 2048
        userId:
          description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
          type: string
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this consent resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of this consent.
          allOf:
            - $ref: '#/components/schemas/consentStates'
          readOnly: true
        givenAt:
          description: >-
            The time stamp when the user last consented to the document, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
            (`YYYY-MM-DDThh:mm:ss.sssZ`). This property is not set if `state` is `pending`.
          type: string
          format: date-time
          readOnly: true
        requestRevokedAt:
          description: >-
            The time stamp when the user revoked consent, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
            (`YYYY-MM-DDThh:mm:ss.sssZ`). A revoked consent reflects a consent request that the user has previously given but has reversed. Revoking a
            consent sets the `state` back to `pending` and clears `consentedAt`.
          type: string
          format: date-time
          readOnly: true
        requestRescindedAt:
          description: >-
            The time stamp when the consent _request_ was rescinded by the requester, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
            format (`YYYY-MM-DDThh:mm:ss.sssZ`). A rescinded consent reflects a consent request that the system or application has issued in the past
            but no longer requires. For example, if a user is removed as an authorized signer from an account and a consent is pending for that
            account's terms and conditions, the Accounts service may rescind that consent request. This property is set only if `state` is
            `rescinded`.
          type: string
          format: date-time
          readOnly: true
      type: object
      x-apiture-flattened: true
    productFields:
      title: Product Fields (v1.0.0)
      description: Common fields of the product resource.
      x-apiture-fragment: true
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productFields/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-composition:
        - $ref: '#/components/schemas/productState'
        - properties:
            - name
            - label
            - description
            - code
            - newAccountAvailability
            - category
            - rate
            - revision
            - ifxType
            - target
      properties:
        state:
          description: >-
            The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.


            The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
            or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
          allOf:
            - $ref: '#/components/schemas/prodState'
        name:
          description: The name of this product.
          type: string
          maxLength: 128
          minLength: 1
        label:
          description: The text label for this product. This field may be localized.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: >-
            A fuller description of this product. This field may be localized. The content is processed as  [Github Flavored
            Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) and thus supports rich text.
          type: string
          maxLength: 4096
          minLength: 1
          format: markdown
        code:
          description: >-
            The unique product code for this product, normally defined by the underlying banking core. The `code` cannot be changed once the `state`
            is beyond `pending`.
          type: string
          maxLength: 64
        newAccountAvailability:
          description: >-
            Indicates if the product is available for opening new accounts.
              * *`available`* means the product may be selected for a new account application.
              * *`notAvailable`* means the product may *not* be selected for a new account application.
            The default is `available`. Note that clients must check both the product `state` and the `newAccountAvailability` when listing products
            for new account opening. The `?openable=true` query parameter on `/accounts` combines these. Labels and descriptions for the enumeration
            values are in the `newAccountAvailability` key in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/newAccountAvailability'
        category:
          description: The product category name. This is a more readable form of the product's `type`.
          type: string
          example: Savings
        rate:
          description: The interest rate for this product.
          allOf:
            - $ref: '#/components/schemas/rate'
        revision:
          description: The revision string for this product. This property derived and immutable.
          type: string
        ifxType:
          description: The product IFX Account Type.
          allOf:
            - $ref: '#/components/schemas/ifxType'
        target:
          description: >-
            Describes the target audience or consumer of the accounts, `personal` or `business`. Labels and descriptions for the enumeration values
            are in the `productTarget` key in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/productTarget'
      type: object
      x-apiture-flattened: true
    revisionEffectiveInterval:
      title: Revision Effective Time Interval (v1.0.0)
      description: Time interval when a resource revision was effective and in use. This schema is used when composing other schemas.
      x-apiture-version: 1.0.0
      type: object
      properties:
        effectiveStartAt:
          description: >-
            The date-time when this revision was created and became effective. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) formatted
            date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable.
          type: string
          format: date-time
        effectiveEndAt:
          description: >-
            The date-time when the another revision became effective and this revision ceased being effective. This is an [RFC
            3339](https://tools.ietf.org/html/rfc3339) formatted date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable and
            is not present until the revision is no longer active.
          type: string
          format: date-time
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/revisionEffectiveInterval/v1.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-flattened: true
    timeDeposit:
      title: Time Deposit Products (v1.0.0)
      description: 'Properties of time deposit products, primarily Certificate of Deposit products.'
      properties:
        maturityPolicy:
          $ref: '#/components/schemas/maturityPolicy'
        minimumTerm:
          description: >-
            The minimum maturity term offered by this product, for products such as certificates of deposits. See also `maximumTerm` For example, Some
            CD products may be opened with a flexible term such as 31 to 181 days, expressed as `minimumTerm: P31D, maximumTerm: P181D` For fixed-term
            products, `minimumTerm` and `maximumTerm` should be the same.


            This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
            term in the number of years/months/days. For example, the values `P30D`, `P6M`, `P2Y` indicate a term of 30 days, six months, and two
            years, respectively.
          type: string
          format: period
          example: P31D
        maximumTerm:
          description: >-
            The maximum maturity term offered by this product, for products such as certificates of deposits. If omitted, there is no fixed term (not
            all product types impose a term). For example, Some CD products may be opened with a flexible term such as 31 to 181 days, expressed as
            `minimumTerm: P31D, maximumTerm: P181D` For fixed-term products, `minimumTerm` and `maximumTerm` should be the same.


            This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
            term in the number of years/months/days. For example, the values `P30D`, `P6M`, `P2Y` indicate a term of 30 days, six months, and two
            years, respectively.
          type: string
          format: period
          example: P31D
        fees:
          description: >-
            The time period in which additional deposits may be made to a CD after it has rolled over after maturity. This value applies only if the
            `depositsAllowed` is `duringGracePeriod`. This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of
            the form `P[n]Y[n]M[n]D` to specify the term in the number of years/months/days.
          type: string
          format: period
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/timeDeposit/v1.0.0/model.json'
      x-apiture-namespace: products
      type: object
      x-apiture-flattened: true
    constraints:
      title: Product Constraints (v1.0.0)
      description: 'Product constraints, such as minimum and maximum balances.'
      type: object
      properties:
        transactionTypes:
          description: The types of transactions permitted for this account. Values which appear in this array are permitted.
          allOf:
            - $ref: '#/components/schemas/transactionTypes'
          default:
            - debit
            - credit
        minimumBalance:
          description: >-
            The minimum balance for accounts of this product. The numeric value is represented as a string so that it can be exact with no loss of
            precision. This balance is in the `currency` for the product.
          type: string
          example: '500.00'
        minimumFundingAmount:
          description: >-
            The minimum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be
            exact with no loss of precision. This balance is in the `currency` for the product.
          type: string
          example: '500.00'
        maximumFundingAmount:
          description: >-
            The maximum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be
            exact with no loss of precision. This balance is in the `currency` for the product.
          type: string
          example: '2500.00'
        minimumTransferAmount:
          description: >-
            The minimum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be
            exact with no loss of precision. This balance is in the `currency` for the product.
          type: string
          example: '25.00'
        maximumTransferAmount:
          description: >-
            The maximum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be
            exact with no loss of precision. This balance is in the `currency` for the product.
          type: string
          example: '10000.00'
        maximumWithdrawalCount:
          description: 'The maximum number of withdrawals allowed per cycle. If not present, there is no hard limit.'
          type: integer
          example: 6
        fundingTerm:
          description: >-
            The time limit within which account opening funding must occur after account creation. This is expressed as an [ISO 8601
            duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) duration;  only day and month periods are allowed, and the only allowed
            fractional value for months is 0.5, as in `P5D` or `P14D` or `P1M` or `P0.5M`.
          type: string
          format: period
          example: P30D
        depositsRestrictedAfterGracePeriod:
          description: 'If true, deposits are not allowed after the rollover grace period (see `gracePeriod`). This applies to time deposit products only.'
          type: boolean
          default: true
        depositsRestrictedAfterFunding:
          description: 'If true, deposits are not allowed after the initial account funding has completed. This typically applies to time deposit products.'
          type: boolean
          default: true
        gracePeriod:
          description: >-
            A period of time after account rollover when additional deposits are allowed. This is an [ISO 8601
            duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) duration;  only day and month periods are allowed, and the only allowed
            fractional value for months is 0.5, as in `P5D` or `P14D` or `P1M` or `P0.5M`.
          type: string
          format: period
          example: P14D
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/constraints/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    businessVerification:
      title: Business Verification Report (v1.0.0)
      description: The verification report contains analsys of the business data and includes the state of the verification.
      properties:
        state:
          type: string
          description: >-
            The state of a verification report.  _passed_ indicates that the Business was successfully verified based upon the supplied information,
            _failed_ indicates it was not.
          enum:
            - passed
            - failed
        completedAt:
          description: An ISO 8601 UTC time stamp indicating when the verification report was created.
          type: string
          format: date-time
        type:
          description: The identity method type. Possible values are `verificationReport` or `administratorApproval`.
          type: string
          enum:
            - verificationReport
            - administratorApproval
        _id:
          description: This business verification's unique id
          readOnly: true
          type: string
        _links:
          $ref: '#/components/schemas/links'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerification/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    identityHistoryItem:
      title: Identity Verification Item (v1.0.0)
      description: One verification record for a contact's history of verifications.
      type: object
      required:
        - state
        - createdAt
      properties:
        _links:
          $ref: '#/components/schemas/links'
        state:
          $ref: '#/components/schemas/identityVerificationState'
        type:
          $ref: '#/components/schemas/identityVerificationType'
        createdAt:
          description: >-
            The date-time when the verification occurred or completed. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the
            form `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
        expiredAt:
          description: >-
            The date-time when the verification expired. This is only set if the `state` is `expired`. This is an [RFC
            3066](https://tools.ietf.org/html/rfc3339) time stamp in the form `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
      example:
        state: passed
        createdAt: '2019-11-21T08:43:54.375Z'
        type: quiz
        _links:
          'apiture:user':
            href: 'https://api.example.bank/users/users/d77bef0b-c75c-4192-ba88-278b9ce4063b'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityHistoryItem/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    updateApproval:
      title: Update Approval
      description: >-
        Representation used to update or patch an approval.  The `state` field is immutable and not updated by this operation, but by the `state
        transition` POST operations such as `approve` or `reject` (ex. `apiture:approve` and `apiture:reject`).
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/updateApproval/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryApproval'
        - properties:
            - attributes
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        label:
          description: 'The approval''s common name.  If omitted on create request, this will default to the label of the Approval Type.'
          type: string
        description:
          description: 'The approval''s description.  If omitted on create request, this will default to the description of the Approval Type.'
          type: string
        state:
          description: >-
            The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
            operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
            corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
            by the approval type.
          allOf:
            - $ref: '#/components/schemas/approvalState'
          readOnly: true
        done:
          description: >-
            If `done` is true, the approval is in a terminal state and may no longer be acted upon.  Done states include `canceled`, `approved`,
            `waived` or `rejected`. This property is derived from the `state` field and is immutable.
          type: boolean
          readOnly: true
        typeName:
          description: The name of the Approval Type.  This field is immutable and derived from the name of the Approval Type.
          type: string
        reviewedBy:
          description: The id of the User that reviewed the approval.
          type: string
          readOnly: true
        reviewedAt:
          description: The date-time when the approval was reviewed.
          type: string
          format: date-time
          readOnly: true
        _id:
          description: The unique identifier for this approval resource. This is an immutable opaque string.
          readOnly: true
          type: string
        attributes:
          type: object
          description: An optional map of name/value pairs which provide additional metadata about the approval.
      type: object
      x-apiture-flattened: true
    approvalEmbeddedObjects:
      title: Approval Embedded Objects (v1.0.0)
      description: The objects which participate in this approval.
      type: object
      properties:
        approvalType:
          description: The type of this approval.
          allOf:
            - $ref: '#/components/schemas/summaryApprovalType'
        target:
          description: The target of this approval.
          type: object
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalEmbeddedObjects/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-flattened: true
    summaryVerificationReport:
      x-apiture-version: 2.0.0
      title: Verification Report Summary (v2.0.0)
      description: >-
        Summary representation of a verification report resource in verification report collections. This representation normally does not contain any
        `_embedded` objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/businessVerifications/summaryVerificationReport/v2.0.0/profile.json'
        _links:
          self:
            href: 'https://api.example.com//businessVerifications/verificationReports/0399abed-fd3d-4830-a88b-30f38b8a365c'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/summaryVerificationReport/v2.0.0/model.json'
      x-apiture-namespace: businessVerifications
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - reportScoringSummary
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this verification report resource. This is an immutable opaque string.
          readOnly: true
          type: string
        reportScoringSummary:
          $ref: '#/components/schemas/verificationReportScoringSummary'
      type: object
      x-apiture-flattened: true
    createVerificationReport:
      x-apiture-version: 2.0.0
      title: Create Verification Report (v2.0.0)
      description: Representation used to create a new verification report.
      example:
        _profile: 'https://production.api.apiture.com/schemas/businessVerifications/createVerificationReport/v2.0.0/profile.json'
        businessName: ABC EXAMPLE CO.
        phone: 555-555-1234
        identification:
          - type: taxId
            value: 12-347894309
        attributes: {}
        addresses:
          - addressLine1: 3212 N. 2nd Ave.
            city: Wilmington
            regionCode: NC
            postalCode: '28412'
        authorizedSigners:
          - firstName: Jane
            lastName: Doe
            identification:
              - type: taxId
                value: 121-34-5431
            birthdate: '1980-12-01'
            email: email@email.com
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/createVerificationReport/v2.0.0/model.json'
      x-apiture-namespace: businessVerifications
      x-apiture-composition:
        - $ref: '#/components/schemas/verificationRequestFields'
        - $ref: '#/components/schemas/abstractRequest'
      properties:
        businessName:
          description: The business's name
          type: string
          maxLength: 512
          minLength: 1
        alternateBusinessName:
          description: An alternate name for the business
          type: string
          maxLength: 512
          minLength: 1
        phone:
          description: The business's phone
          type: string
          maxLength: 32
          minLength: 1
        identification:
          $ref: '#/components/schemas/identificationModel'
        authorizedSigners:
          description: An optional array of authorized signer entities
          type: array
          items:
            $ref: '#/components/schemas/authorizedSigner'
        addresses:
          description: An array of postal mailing addresses for this contact.
          type: array
          items:
            $ref: '#/components/schemas/address'
        attributes:
          description: An optional map of name/value pairs which provide additional metadata about the verification report.
          allOf:
            - $ref: '#/components/schemas/attributes'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
      type: object
      x-apiture-flattened: true
    verificationReportScoringSummary:
      title: Verification Report Summary (v1.0.0)
      description: Model schema for business verification report summary.
      properties:
        transactionId:
          description: The unique transactionId for this verification report used for tracking this verification report
          type: string
        state:
          type: string
          description: >-
            The state of a verification report.  _passed_ indicates that the Business was successfully verified based upon the supplied information,
            _failed_ indicates it was not.
          enum:
            - passed
            - failed
        businessVerifications:
          description: A list of business verification scores.
          type: array
          items:
            $ref: '#/components/schemas/businessVerificationScore'
        businessRiskFactors:
          description: A list of business verification risk factors.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
        comprehensiveVerificationScores:
          description: A list of comprehensive business verification scores.
          type: array
          items:
            $ref: '#/components/schemas/comprehensiveVerificationScore'
        authorizedRepresentativeRiskFactors:
          description: A list of representative business risk factors.
          type: array
          items:
            $ref: '#/components/schemas/riskFactor'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationReportScoringSummary/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    updateRole:
      title: Update Role
      description: Representation used to update or patch a role.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
        label: primary user
        name: primaryUser
        description: The primary user for this account.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/updateRole/v1.0.0/model.json'
      x-apiture-namespace: associations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryRole'
      properties:
        name:
          description: >-
            The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
            uses in the platform.
          type: string
          maxLength: 128
          minLength: 1
          example: primaryUser
        label:
          description: 'The text label for this role, for use in human presentation. This field may be localized.'
          type: string
          maxLength: 128
          minLength: 1
          example: Primary User
        description:
          description: A fuller description of this role. This field may be localized.
          type: string
          maxLength: 4096
          minLength: 1
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this role resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    identityVerificationFields:
      title: Identity Verification Fields (v2.0.0)
      description: Properties common to various identity verification resources.
      x-apiture-fragment: true
      x-apiture-version: 2.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationFields/v2.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
            - createdAt
            - expiresAt
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          type: string
          description: A unique identifier for this resource instance. This is is an opaque string.
          readOnly: true
        createdAt:
          description: >-
            The date-time when the resource was created. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
            `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
        expiresAt:
          description: >-
            The date-time when the resource expires. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
            `YYYY-DD-MMThh:mm:ss.sssZ`.
          type: string
          format: date-time
      type: object
      x-apiture-flattened: true
    identityVerificationType:
      title: Identity Verification Type (v1.0.0)
      description: |+
        Describes how the identity verification was performed.

        <strong><code>identityVerificationType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>fraudRiskReport</code></strong></td><td>Fraud Risk Report: Verification performed by generating a fraud risk report based on the identity's personal information.</td>
            </tr>
        <tr>
            <td><strong><code>quiz</code></strong></td><td>Quiz: Verification performed by executing a quiz based on personal knowledge the individual should know.</td>
            </tr>
        <tr>
            <td><strong><code>adminApproval</code></strong></td><td>Admin Approval: Verification performed by an administrator explicitly approving the identity, for example after manually inspecting identity verification documents from the user.</td>
            </tr>
        </table>

      type: string
      enum:
        - fraudRiskReport
        - quiz
        - adminApproval
      x-apiture-enum: identityVerificationType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationType/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    fraudRiskReportInputs:
      title: Fraud-risk Report Inputs (v1.0.0)
      description: The inputs of a fraud-risk report.
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/identity'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportInputs/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    fraudRiskReportOutputs:
      title: Fraud-risk Report Outputs (v1.0.0)
      description: The outputs of a fraud-risk report.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportOutputs/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-composition:
        - $ref: '#/components/schemas/outputs'
        - properties:
            - providerReportId
            - state
            - fraudRiskCategories
      properties:
        token:
          type: string
          description: An opaque string that conveys the state of the contact's identity verification.
        providerReportId:
          type: string
          description: External identity provider report Id.
        state:
          $ref: '#/components/schemas/fraudRiskReportState'
        fraudRiskCategories:
          description: A list of categories in this report.
          type: array
          items:
            $ref: '#/components/schemas/fraudRiskCategory'
      type: object
      x-apiture-flattened: true
    userFields:
      title: Common fields of a user
      description: |-
        Fields for a user.
        (This fragment schema is used to build other schemas.)


        To change user addresses, email addresses, and phone numbers, use
        operations on the sub-resources (`/users/{userId}/addresses`,
        `/users/{userId}/emailAddresses`, and `/users/{userId}/phoneNumbers`).
      x-apiture-fragment: true
      type: object
      example:
        username: Johnny1733
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        identification:
          - value: 111-11-1111
            type: taxId
            emailAddresses:
              - _id: pe0
                type: personal
                value: johnny1733@example.com
              - _id: we0
                type: work
                value: support@apiture.com
        phones:
          - _id: hp0
            type: home
            number: (555) 555-5555
          - _id: mp0
            type: mobile
            number: (999) 555-5555
        birthdate: '1974-10-27'
        citizenship:
          - countryCode: US
            state: citizen
        occupation: officeAndAdministrativeSupport
        addresses:
          - _id: ha0
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: ha1
            type: home
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        state: active
        attributes: {}
        preferredContactMethod: email
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userFields/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/identifiedContact'
        - $ref: '#/components/schemas/contactName'
        - $ref: '#/components/schemas/simpleContactFields'
        - $ref: '#/components/schemas/userVerificationFields'
        - properties:
            - username
            - state
            - addresses
            - preferredMailingAddressId
            - phoneNumbers
            - preferredPhoneId
            - emailAddresses
            - preferredEmailAddressId
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses. Add or delete addresses with the `createAddress` and `deleteAddress` operations.
          type: array
          items:
            type: object
            $ref: '#/components/schemas/userAddress'
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        emailAddresses:
          description: An array of email addresses. Add or delete email addresses with the `createEmailAddress` and `deleteEmailAddress` operations.
          type: array
          items:
            $ref: '#/components/schemas/userEmailAddress'
          readOnly: true
        preferredEmailAddressId:
          description: |-
            The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
             This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: >-
            The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with the
            `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
        kycAnswers:
          description: This user's answers Know Your Customer (KYC) questions.
          x-apiture-pii: true
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/kycAnswers'
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record.
          type: object
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/identityVerification'
        username:
          description: The unique username for the user.
          type: string
        state:
          description: |-
            The state of this user record. The default is `active`.
              * Users may not be deleted, but Users with a `state` of `active`, `inactive` or `locked`
                may be removed by `POST`ing to the `/removedUsers` endpoint via the `apiture:remove`
                endpoint. Removed users may not be reactivated.
              * Users with a `state` of `active` or `locked` may be deactivated by `POST`ing to
                the `/inactiveUsers` endpoint via the `apiture:deactivate` endpoint.
              * Users with a `state` of `inactive` or `locked` may be activated by `POST`ing to
                the `/activeUsers` endpoint via the `apiture:activate` endpoint.
              * Users with a `state` of `active` or `inactive` may be locked by `POST`ing to
                the `/lockedUsers` endpoint via the `apiture:lock` endpoint. A `state` of `locked`
                indicates a user has entered the password incorrectly too many times.
              * Users with a `state` of `active`, `inactive` or locked may be frozen by
                `POST`ing to the `/frozenUsers` endpoint via the `apiture:freeze` endpoint.
                A `state` of `frozen` indicates a user can no longer access online banking until
                the financial institution re-activates the user.
              * Users with a `state` of `active`, `inactive`, or `locked` may be
                merged by `POST`ing to the `/mergedUsers` endpoint via the `apiture:merge` endpoint.
                Merged users may not have their state changed.
          type: string
          enum:
            - active
            - inactive
            - locked
            - frozen
            - merged
            - removed
          x-apiture-enum: userState
        phoneNumbers:
          description: An array of phone numbers. Add or delete phoneNumbers with the `createPhoneNumber` and `deletePhoneNumber` operations.
          type: array
          items:
            $ref: '#/components/schemas/userPhoneNumber'
          readOnly: true
      x-apiture-flattened: true
    link:
      x-apiture-version: 1.0.0
      title: Link (v1.0.0)
      description: >-
        Describes a hypermedia link within a `_links` object in HAL representations. In Apiture APIs, links are [HAL
        links](https://developer.apiture.com/docs/concepts/links), but Apiture APIs do not use the `name` or `hreflang` properties of HAL. Apiture
        links _may_ include a `method` property.
      required:
        - href
      properties:
        href:
          type: string
          format: uri
          description: The URI or URI template for the resource/operation this link refers to.
        type:
          type: string
          description: The media type for the resource.
        templated:
          type: boolean
          description: 'If true, the link''s href is a [URI template](https://tools.ietf.org/html/rfc6570).'
        title:
          type: string
          description: An optional human-readable localized title for the link.
        deprecation:
          type: string
          format: uri
          description: 'If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.'
        profile:
          type: string
          format: uri
          description: 'The URI of a profile document, a JSON document which describes the target resource/operation.'
      example:
        href: /contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f
        title: Applicant
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json'
      x-apiture-namespace: common
      type: object
      x-apiture-flattened: true
    organizationFields:
      title: Organization Fields
      description: 'Common fields of the organization resource, for organizations which conduct banking.'
      x-apiture-fragment: true
      example:
        name: Smith's Auto Detailing
        label: Smith's Detailing
        emailAddresses:
          - type: work
            value: smitties-detailing@example.com
        phones:
          - type: work
            number: (555) 555-5555
          - type: mobile
            number: (999) 555-5555
        addresses:
          - type: work
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        establishedDate: 2009-07-09T
        identification:
          - type: taxId
            value: 00-9999999
        state: active
        currency: USD
        estimatedAnnualRevenue: from1to10Million
        estimatedMonthlyAmounts:
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
          mobileCheckDeposit: upToOneHundredThousand
          receivedAch: upToOneHundredThousand
          sentAch: moreThanOneMillion
        physicalLocationsCount: under10
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationFields/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleOrganization'
        - properties:
            - state
            - tradeName
            - governmentOwned
            - publiclyHeld
            - smallBusiness
            - taxExempt
            - employeeCountRange
            - employeeCountLowerBound
            - employeeCountUpperBound
            - homeUrl
            - industry
            - countryOfOperations
            - regulatory
            - currency
            - mobileCheckDepositEnabled
            - achEnabled
            - estimatedMonthlyAmounts
            - accountPurpose
            - registeredIn
      properties:
        name:
          description: The organization's official full name
          type: string
        label:
          description: The organization's common name.
          type: string
        type:
          description: |-
            Indicates what type of organization this resource represents.


            The enumeration values are described by the `organizationType`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationType'
        subtype:
          description: |-
            A refinement of the `type`.


            The enumeration values are described by the `organizationSubtype`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationSubtype'
        identification:
          description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
          type: array
          items:
            $ref: '#/components/schemas/organizationIdentification'
        addresses:
          description: An array containing address items.
          type: array
          items:
            $ref: '#/components/schemas/organizationAddress'
        phones:
          description: >-
            An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
            number.
          type: array
          items:
            $ref: '#/components/schemas/organizationPhoneNumber'
        emailAddresses:
          description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
          type: array
          items:
            $ref: '#/components/schemas/organizationEmailAddress'
        preferredEmailAddressId:
          description: |-
            The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
            This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredPhoneId:
          description: >-
            The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
            the `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        establishedDate:
          description: The date the organization was established.
          type: string
          format: date
        state:
          description: >-
            The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
            operation.
          allOf:
            - $ref: '#/components/schemas/organizationState'
        tradeName:
          type: string
          description: The trade name of the organization.
        governmentOwned:
          description: Indicates whether the organization is a government-owned entity.
          type: boolean
        publiclyHeld:
          description: Indicates whether the organization is publicly held.
          type: boolean
        smallBusiness:
          description: Indicates whether the organization is classified as a small business
          type: boolean
        taxExempt:
          description: Indicates whether the organization is the tax-exempt.
          type: boolean
        employeeCountRange:
          description: 'Indicates the approximate number of employees, as a range.'
          type: string
          x-apiture-choice: employeeCountRange
        employeeCountLowerBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: integer
          readOnly: true
          minimum: 1
        employeeCountUpperBound:
          description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
          type: number
          readOnly: true
          maximum: 20000000
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: Indicates what industry does this organization work within.
          type: string
          x-apiture-choice: industrySectors
        countryOfOperations:
          type: string
          description: The ISO 3166-1 country code for the organization's operation.
          minLength: 2
          maxLength: 2
        regulatory:
          description: Answers to organization-specific regulatory questions.
          allOf:
            - $ref: '#/components/schemas/regulatory'
        currency:
          description: >-
            The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
            4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
          type: string
          minLength: 3
          maxLength: 3
        mobileCheckDepositEnabled:
          description: Indicates that the organization use mobile check deposits.
          type: boolean
        achEnabled:
          description: Indicates that the organization use ACH transfers.
          type: boolean
        estimatedMonthlyAmounts:
          description: Estimated monthly amounts for banking services.
          allOf:
            - $ref: '#/components/schemas/estimatedMonthlyAmounts'
        accountPurpose:
          title: Account purpose
          description: The purpose of the account.
          allOf:
            - $ref: '#/components/schemas/accountPurpose'
        registeredIn:
          description: The US state or other region in which the organization is registered.
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
          x-apiture-choice: regionCodes
      type: object
      x-apiture-flattened: true
    authorization:
      title: Authorization (v1.0.0)
      description: >-
        Represents a person authorized for account access. This object contains key identification information for the person and the type of access
        or role that the person has in relation to the banking account or organization.
      required:
        - type
        - userId
        - customerId
        - firstName
        - lastName
        - citizen
        - taxId
        - addresses
      example:
        userId: bd9e7a93-32cc-435d-ac57-f21faa082318
        customerId: '10047294723672'
        type: joint
        role: Chief Financial Officer
        firstName: John
        middleName: Daniel
        lastName: Smith
        taxId: '*****3333'
        citizen: true
        addresses:
          - _id: ha5
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - id: wa0
            type: other
            label: mailing
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha5
        emailAddress: JohnDanielSmith@example.com
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorization/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-composition:
        - $ref: '#/components/schemas/individualIdentification'
        - properties:
            - userId
            - customerId
            - type
            - role
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        taxId:
          description: >-
            Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible.
            If the `?unmasked=true` query parameter is passed, the full, unmasked tax ID is returned.
          type: string
        citizen:
          description: Indicates if the person is a (US) citizen.
          type: boolean
        emailAddress:
          description: Optional email address.
          type: string
          format: email
        userId:
          description: The unique ID of the user. This is the `_id` value of the user resource from the Users API.
          type: string
          example: bd9e7a93-32cc-435d-ac57-f21faa082318
        customerId:
          description: >-
            The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
            user in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
          type: string
          minLength: 1
          maxLength: 100
          readOnly: true
          example: '10047294723672'
        type:
          description: |-
            The type of this account access authorization.
             * *`primary`* the `contact` is the primary owner of a personal account. There may be only one
             primary owner. The target of the authorization is a single personal account.
             * *`joint`* the `contact` is a non-primary joint owner of a
             personal account. The target of the authorization is a single personal account.
             * *`authorizedSigner`* the `contact` is an authorized signer
             for a business account. The target of the authorization is an
             all business accounts owned by the organization.
          allOf:
            - $ref: '#/components/schemas/authorizationType'
        role:
          description: The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
          type: string
      type: object
      x-apiture-flattened: true
    beneficialOwner:
      title: Beneficial Owner (v1.0.0)
      description: A person who owns 25% or more of a business organization.
      required:
        - percentage
        - contactId
        - firstName
        - lastName
        - identification
      example:
        firstName: William
        lastName: Wellphunded
        addresses:
          - addressLine1: 1234 S Front Street
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
            type: home
        identification:
          - type: taxId
            value: 111-11-1111
        role: Chief Financial Officer
        birthdate: {}
        percentage: 35
        contactId: 8bf04d7d-c1bd-4945-b0ac-40ef02bb3953
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwner/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleContact'
        - properties:
            - role
            - percentage
            - birthdate
            - contactId
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        role:
          type: string
          description: The person's role at the organization.
        percentage:
          description: The percent of the business that this person owns.
          type: integer
          minimum: 0
          maximum: 100
          example: 25
        birthdate:
          description: The beneficial's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        contactId:
          type: string
          description: >-
            The `_id` of an existing contact resource associated with the beneficial owner. Create the beneficial owner contact resource using the
            Contacts API.
      type: object
      x-apiture-flattened: true
    consentFields:
      title: Consent Fields
      description: Common fields of the consent resource used to build other model schemas.
      properties:
        document:
          description: Properties of the target document.
          allOf:
            - $ref: '#/components/schemas/document'
        type:
          description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
          type: string
        contextUri:
          description: >-
            The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
            consent of an account's terms and conditions, the context might be the banking product for that account.
          type: string
          format: uri
          maxLength: 2048
        userId:
          description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
          type: string
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consentFields/v1.0.0/model.json'
      x-apiture-namespace: consents
      x-apiture-version: 1.0.0
      type: object
      x-apiture-flattened: true
    consentStates:
      title: Consent States (v1.0.0)
      description: The state of a consent resource.
      type: string
      enum:
        - pending
        - given
        - stale
        - rescinded
        - revoked
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consentStates/v1.0.0/model.json'
      x-apiture-namespace: consents
      x-apiture-flattened: true
    transactionTypes:
      title: Transaction Types (v1.0.0)
      description: An array which lists which transaction types are allowed for an account.
      type: array
      items:
        $ref: '#/components/schemas/transactionType'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/transactionTypes/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    maturityPolicy:
      title: Maturity Policy (v1.0.0)
      description: >-
        Indicates how the principal and interest are processed upon maturity. The values indicate whether to rollover (to a time deposit account of
        the same rate and term), transfer funds to another (possibly new) deposit account, or simply hold the funds in the current account (which may
        no longer accrue interest). Labels and descriptions for the enumeration values are in the `maturityPolicy` key in the response of the
        `getLabels` operation.


        <strong><code>maturityPolicy</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>rolloverPrincipalAndInterest</code></strong></td><td>Rollover principal and interest to a new CD of the same product: Upon maturity, both principal and interest rollover into a specified banking product, such as a savings, checking, or other deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>transferPrincipalAndInterest</code></strong></td><td>Transfer principal and interest to a deposit account: Upon maturity, the principal an interest are both transferred to an existing or new deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>rolloverPrincipalAndTransferInterest</code></strong></td><td>Transfer interest to a new deposit account an rollover principal to a new CD of the same product: Upon maturity, the principal rolls over into a specified banking product and the interest is transferred to an existing deposit account.</td>
            </tr>
        <tr>
            <td><strong><code>holdPrincipalAndInterest</code></strong></td><td>Hold principal and accued interest in the CD account until withdrawal: Upon maturity, the principal and interest are held in the current time deposit account. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.</td>
            </tr>
        <tr>
            <td><strong><code>partialTransfer</code></strong></td><td>Partial Transfer: Upon maturity, any funds greater than the maturity threshold is transfered to an existing deposit account and the rest remains on deposit. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `maturityPolicy` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - rolloverPrincipalAndInterest
        - transferPrincipalAndInterest
        - rolloverPrincipalAndTransferInterest
        - holdPrincipalAndInterest
        - partialTransfer
      x-apiture-enum: maturityPolicy
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/maturityPolicy/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    productState:
      title: State of a Product or Product Type (v1.0.0)
      description: The state of a product or type.
      x-apiture-fragment: true
      properties:
        state:
          description: >-
            The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.


            The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
            or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
          allOf:
            - $ref: '#/components/schemas/prodState'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productState/v1.0.0/model.json'
      x-apiture-namespace: products
      type: object
      x-apiture-flattened: true
    newAccountAvailability:
      title: New Account Availability (v1.0.0)
      description: |-
        Describes if the product is available for opening new accounts.

        <strong><code>newAccountAvailability</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>available</code></strong></td><td>Users may open new accounts of this type</td>
            </tr>
        <tr>
            <td><strong><code>notAvailable</code></strong></td><td>Users may not open new accounts of this type</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `newAccountAvailability` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - available
        - notAvailable
      x-apiture-enum: newAccountAvailability
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/newAccountAvailability/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    rate:
      title: Interest Rate (v1.0.0)
      description: >-
        The interest rate of the account. For deposit accounts, this is the rate of return; for loan accounts, this is the interest rate charged on
        balances. Rates can be absolute, such as "1.40" to indicate 1.4%, which is expressed as  `{ "value" : "1.40" }`, or relative to a benchmark,
        such as U.S. Prime Rate + 0.5% which is expressed as `{ "benchmark" : "prime", "value" : "0.50" }`.
      properties:
        value:
          description: >-
            The rate, expressed as an decimal percentage string in order to represent the rate exactly. This number must have 2 to four decimal
            points, i.e. '2.00' or '0.50' or '1.015', but not `2` or `.5`. (Regular expression pattern: `-?\d{1,3}+\.\d{2,4}`)
          type: string
          example: '1.40'
        benchmark:
          description: >-
            An optional base benchmark that the rate is relative to. If omitted, the rate is fixed. Otherwise the rate is added to the benchmark rate.
            Values may be (but are not limited to):
             * *`primeUS`* - the [U.S. Prime rate](https://en.wikipedia.org/wiki/Prime_rate)
             * *`treasuryUS`* - The [U.S. Treasury rate](https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldAll)
             * *`libor`* - the [London Inter-bank Offered Rates](https://en.wikipedia.org/wiki/Libor) rate
          type: string
          example: prime
        compoundPeriod:
          description: >-
            The period at which interest compounds.


            This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
            term in the number of years/months/days. The default is `"P0D"` (continuous).
          type: string
          example: P7D
        accrualType:
          description: Indicates how interest is accrued according to the `compoundPeriod`.
          allOf:
            - $ref: '#/components/schemas/accrualType'
        adjustmentPeriod:
          description: >-
            The period at which the rate is adjusted or recomputed to account for differences in the benchmark rate.


            This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
            term in the number of years/months/days; The default is `"P1D"` (daily).
          type: string
          example: P1D
        type:
          description: The interest rate type.
          type: string
          allOf:
            - $ref: '#/components/schemas/interestRateType'
      example:
        value: '1.40'
        type: apr
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/rate/v1.0.0/model.json'
      x-apiture-namespace: products
      type: object
      x-apiture-flattened: true
    productTarget:
      title: Product Target (v1.0.0)
      description: |-
        The target audience for this product.

        <strong><code>productTarget</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>personal</code></strong></td><td>Banking products for personal use</td>
            </tr>
        <tr>
            <td><strong><code>business</code></strong></td><td>Banking products for business use</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `productTarget` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - personal
        - business
      x-apiture-enum: productTarget
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productTarget/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    summaryRole:
      title: Role Summary
      description: >-
        Summary representation of a role resource in roles collections. This representation normally does not contain any `_embedded` objects. If
        needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
        name: primaryUser
        label: Primary User
        description: |-
          The primary user on the account.
          There may be only one primary user on an account.
        _links:
          self:
            href: /associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/summaryRole/v1.0.0/model.json'
      x-apiture-namespace: associations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/roleFields'
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - _id
      properties:
        name:
          description: >-
            The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
            uses in the platform.
          type: string
          maxLength: 128
          minLength: 1
          example: primaryUser
        label:
          description: 'The text label for this role, for use in human presentation. This field may be localized.'
          type: string
          maxLength: 128
          minLength: 1
          example: Primary User
        description:
          description: A fuller description of this role. This field may be localized.
          type: string
          maxLength: 4096
          minLength: 1
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        _id:
          description: The unique identifier for this role resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    contactVerificationFields:
      title: Contact Fields
      description: Common fields of the contact resource used to build other model schemas for people who hold bank accounts.
      type: object
      properties:
        kycAnswers:
          description: >-
            An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
            details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          x-apiture-pii: true
          type: object
        identityVerificationStatus:
          description: >-
            Use the `state` of `identityVerification`. The identity verification status for this person.  This field is read-only and is derived from
            the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
            record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: string
          readOnly: true
          enum:
            - verified
            - unverified
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
            verification details will only exist on Users, not Contacts.
          x-apiture-deprecated: true
          type: object
          allOf:
            - $ref: '#/components/schemas/identityVerification'
      example:
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        suffix: MD
        identification:
          - type: taxId
            value: 111-11-1111
        emailAddresses:
          - _id: ea1
            value: api@apiture.com
            type: personal
          - _id: ek3
            value: support@apiture.com
            type: work
        preferredEmailAddressId: ea1
        phones:
          - _id: pa1
            type: home
            number: (555) 555-5555
          - _id: da6
            type: mobile
            number: (999) 555-5555
        preferredPhoneId: pa1
        birthdate: '1974-10-27'
        citizenship:
          - countryCode: US
            state: citizen
        residencyStatus: resident
        occupation: officeAndAdministrativeSupport
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha1
        identityVerification:
          provider: IDology
          sessionId: '123456'
          scoredAt: '2019-09-13T13:06:52.078Z'
          score: passed
          state: verified
        yearsAtAddress: 3
        mailingDifferentAddress: false
        kycAnswers:
          citizen: true
          permanentResident: true
          w9Withholdings: false
          employmentStatus: fullTime
          occupation: officeAndAdministrativeSupport
          foreignPoliticalFigure: false
          countryPoliticalFigure: N/A
          familyOfPoliticalFigure: false
        state: active
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactVerificationFields/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    identifiedContact:
      title: Identified Contact (v1.0.0)
      description: A contact with additional personally identifiable information data.
      x-apiture-fragment: true
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identifiedContact/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleContact'
        - $ref: '#/components/schemas/identifiedContactFields'
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
      type: object
      x-apiture-flattened: true
    contactState:
      title: Contact State (v1.0.0)
      description: |-
        The state of this person. The values are described in the `contactState` text via the `getLabels` operation.

        <strong><code>contactState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: A new contact, not yet activated.</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>Active: An activated contact record.</td>
            </tr>
        <tr>
            <td><strong><code>merged</code></strong></td><td>Merged: A contact record resulting from merging other contacts.</td>
            </tr>
        <tr>
            <td><strong><code>removed</code></strong></td><td>Removed: A removed, no longer available contact.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `contactState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - inactive
        - active
        - merged
        - removed
      x-apiture-enum: contactState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactState/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    identityVerificationState:
      title: IdentityVerification Type (v1.0.0)
      description: |+
        The type of the historical verification.

        <strong><code>identityVerificationState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>passed</code></strong></td><td>Passed: Identity verification passed.</td>
            </tr>
        <tr>
            <td><strong><code>failed</code></strong></td><td>Failed: Identity verification failed.</td>
            </tr>
        <tr>
            <td><strong><code>passedWithRiskFactors</code></strong></td><td>PassedWithRiskFactors: Identity verification passed with risk factors.</td>
            </tr>
        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending: Identity verification has not started.</td>
            </tr>
        <tr>
            <td><strong><code>asked</code></strong></td><td>Asked: Identity verification is in progress, after personal questions have been presented to the user.</td>
            </tr>
        <tr>
            <td><strong><code>identityServiceFailure</code></strong></td><td>IdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service.</td>
            </tr>
        <tr>
            <td><strong><code>scoring</code></strong></td><td>Scoring: Identity verification is generating a verification score.</td>
            </tr>
        <tr>
            <td><strong><code>expired</code></strong></td><td>Expired: The user did not complete the identity verification process before it expired.
        </td>
            </tr>
        </table>

      type: string
      enum:
        - passed
        - failed
        - passedWithRiskFactors
        - pending
        - asked
        - identityServiceFailure
        - scoring
        - expired
      x-apiture-enum: identityVerificationState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationState/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    summaryApproval:
      title: Approval Summary
      description: >-
        Summary representation of an approval resource in approvals collections. This representation normally does not contain any `_embedded`
        objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
        _links:
          self:
            href: /approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/summaryApproval/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/approvalFields'
        - properties:
            - _id
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        label:
          description: 'The approval''s common name.  If omitted on create request, this will default to the label of the Approval Type.'
          type: string
        description:
          description: 'The approval''s description.  If omitted on create request, this will default to the description of the Approval Type.'
          type: string
        state:
          description: >-
            The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
            operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
            corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
            by the approval type.
          allOf:
            - $ref: '#/components/schemas/approvalState'
          readOnly: true
        done:
          description: >-
            If `done` is true, the approval is in a terminal state and may no longer be acted upon.  Done states include `canceled`, `approved`,
            `waived` or `rejected`. This property is derived from the `state` field and is immutable.
          type: boolean
          readOnly: true
        typeName:
          description: The name of the Approval Type.  This field is immutable and derived from the name of the Approval Type.
          type: string
        reviewedBy:
          description: The id of the User that reviewed the approval.
          type: string
          readOnly: true
        reviewedAt:
          description: The date-time when the approval was reviewed.
          type: string
          format: date-time
          readOnly: true
        _id:
          description: The unique identifier for this approval resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    businessVerificationScore:
      title: Business Verification Score (v1.0.0)
      description: An score that summarizes the verification of the input information. This objects contains a score `value` and accompanying `description`.
      properties:
        value:
          description: The business verification score value
          type: string
        description:
          description: The business verification score description
          type: string
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerificationScore/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    riskFactor:
      title: Risk Factor (v1.0.0)
      description: >-
        Risk factors, warning codes, or risk codes are not necessarily indicators of fraud or of any fraudulent intent. They are value added
        attributes that indicate information that may have contributed to a lower score.
      properties:
        riskCode:
          description: The risk factor risk code
          type: string
        description:
          description: The risk code description
          type: string
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/riskFactor/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    comprehensiveVerificationScore:
      title: Authorized Representative Comprehensive Verification Score (v1.0.0)
      description: The comprehensive verification score is a risk verification score for the authorized representative.
      properties:
        inputRepNumber:
          description: the rep number for the authorized representative
          type: string
        score:
          description: The comprehensive verification score is a risk verification score of the authorized representative
          type: integer
        description:
          description: The description for the CVI value
          type: string
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/comprehensiveVerificationScore/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    verificationRequestFields:
      title: Verification Request Fields (v1.0.0)
      description: 'Common fields of a verification request, used to build other model schemas.'
      properties:
        businessName:
          description: The business's name
          type: string
          maxLength: 512
          minLength: 1
        alternateBusinessName:
          description: An alternate name for the business
          type: string
          maxLength: 512
          minLength: 1
        phone:
          description: The business's phone
          type: string
          maxLength: 32
          minLength: 1
        identification:
          $ref: '#/components/schemas/identificationModel'
        authorizedSigners:
          description: An optional array of authorized signer entities
          type: array
          items:
            $ref: '#/components/schemas/authorizedSigner'
        addresses:
          description: An array of postal mailing addresses for this contact.
          type: array
          items:
            $ref: '#/components/schemas/address'
        attributes:
          description: An optional map of name/value pairs which provide additional metadata about the verification report.
          allOf:
            - $ref: '#/components/schemas/attributes'
      example:
        businessName: ABC EXAMPLE CO.
        phone: 555-555-1234
        identification:
          - type: taxId
            value: 12-347894309
        attributes: {}
        addresses:
          - addressLine1: 3212 N. 2nd Ave.
            city: Wilmington
            regionCode: NC
            postalCode: '28412'
        authorizedSigners:
          - firstName: Jane
            lastName: Doe
            identification:
              - type: taxId
                value: 121-34-5431
            birthdate: '1980-12-01'
            email: email@email.com
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationRequestFields/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    contactName:
      title: Name (v1.0.0)
      description: A person's name.
      x-apiture-fragment: true
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
      example:
        firstName: John
        middleName: Daniel
        lastName: Smith
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactName/v1.0.0/model.json'
      x-apiture-namespace: contacts
      type: object
      x-apiture-flattened: true
    simpleContactFields:
      title: Simple Contact Fields (v1.0.0)
      description: Additional properties for a person or contact.
      x-apiture-fragment: true
      type: object
      properties:
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContactFields/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    userVerificationFields:
      title: User Verification Fields
      description: >-
        Fields for recording the status of user verification for a financial institution's Customer Identification Program (CIP). (This fragment
        schema is used to build other schemas.)
      type: object
      properties:
        kycAnswers:
          description: This user's answers Know Your Customer (KYC) questions.
          x-apiture-pii: true
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/kycAnswers'
        identityVerification:
          description: >-
            The identity verification data for this person.  These fields are derived from the results of any identity verification processes executed
            against the personally identifiable information (PII) contained in this record.
          type: object
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/identityVerification'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userVerificationFields/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    userAddress:
      title: User Address (v1.0.0)
      description: >
        Representation of a user's address resource.



        <h3 class='schema-links' id="userAddress-links" >Links</h3>


        Response and request bodies using this <strong><code>userAddress</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-deleteAddress'><strong><code>delete</code></strong></a></td><td>Delete this address resource</td><td><code>DELETE</code></td>

        </tr>


        <tr>

        <td><a href='#op-setPreferredAddress'><strong><code>apiture:setAsPreferred</code></strong></a></td><td>Set Preferred mailing
        Address</td><td><code>PUT</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: delete
          operationId: deleteAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredAddress
      example:
        _id: ha1
        type: home
        addressLine1: 555 N Front Street
        addressLine2: Suite 5555
        city: Wilmington
        regionCode: NC
        postalCode: 28401-5405
        countryCode: US
        state: approved
        _links:
          self:
            href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userAddress/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-composition:
        - $ref: '#/components/schemas/address'
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - state
      properties:
        type:
          description: The type of this address.
          allOf:
            - $ref: '#/components/schemas/addressType'
        label:
          description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
          type: string
          readOnly: true
          minLength: 4
          maxLength: 32
        otherType:
          description: The actual address type if `type` is `other`.
          minLength: 4
          maxLength: 32
          type: string
        addressLine1:
          description: 'The first street address line of the address, normally a house number and street name.'
          type: string
          minLength: 4
          maxLength: 128
        addressLine2:
          description: The optional second street address line of the address.
          type: string
          maxLength: 128
        city:
          description: The name of the city or municipality.
          type: string
          minLength: 2
          maxLength: 128
        regionCode:
          description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        postalCode:
          description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
          type: string
          example: 28401-5405
          minLength: 5
          maxLength: 10
          pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
        countryCode:
          description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
          type: string
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        _id:
          description: >-
            An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all addresses within the `addresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this address. `pending` addresses require financial institution approval. Only `approved` addresses may be set as the
            preferred address.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    userPhoneNumber:
      title: Phone Number (v1.0.0)
      description: >
        Representation of phone number resources.



        <h3 class='schema-links' id="userPhoneNumber-links" >Links</h3>


        Response and request bodies using this <strong><code>userPhoneNumber</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-deletePhoneNumber'><strong><code>delete</code></strong></a></td><td>Delete this phone number
        resource</td><td><code>DELETE</code></td>

        </tr>


        <tr>

        <td><a href='#op-setPreferredPhoneNumber'><strong><code>apiture:setAsPreferred</code></strong></a></td><td>Set Preferred Phone
        Number</td><td><code>PUT</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: delete
          operationId: deletePhoneNumber
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredPhoneNumber
      example:
        _id: hp1
        _profile: 'https://api.apiture.com/schemas/users/userPhoneNumber/v1.0.0/profile.json'
        type: home
        number: 555-555-5555
        state: approved
        _links:
          self:
            href: /users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-composition:
        - $ref: '#/components/schemas/phoneNumber'
        - properties:
            - state
        - $ref: '#/components/schemas/abstractResource'
      properties:
        type:
          description: The type or role of this phone number.
          allOf:
            - $ref: '#/components/schemas/phoneNumberType'
        number:
          description: >-
            The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
            is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
            (up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
            Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
          type: string
          example: '+19105550155'
          minLength: 8
          maxLength: 20
        label:
          description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
          type: string
          example: assistant
          maxLength: 32
        _id:
          description: >-
            An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all phone numbers within the `phones` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this phone number. `pending` numbers require financial institution approval. Only `approved` numbers may be set as the
            preferred phone number.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    userEmailAddress:
      title: Email Address (v1.0.0)
      description: >
        Representation of email address resources. An email address is immutable, although users can add new email addresses.



        <h3 class='schema-links' id="userEmailAddress-links" >Links</h3>


        Response and request bodies using this <strong><code>userEmailAddress</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-deleteEmailAddress'><strong><code>delete</code></strong></a></td><td>Delete this email address
        resource</td><td><code>DELETE</code></td>

        </tr>


        <tr>

        <td><a href='#op-setPreferredEmailAddress'><strong><code>apiture:setAsPreferred</code></strong></a></td><td>Set Preferred Email
        Address</td><td><code>PUT</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: delete
          operationId: deleteEmailAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredEmailAddress
      example:
        _id: pe1
        _profile: 'https://api.apiture.com/schemas/users/userEmailAddress/v1.0.0/profile.json'
        type: personal
        number: 555-555-5555
        state: approved
        _links:
          self:
            href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
          delete:
            href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
          'apiture:setAsPreferred':
            href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userEmailAddress/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-composition:
        - $ref: '#/components/schemas/typedEmailAddress'
        - properties:
            - state
        - $ref: '#/components/schemas/abstractResource'
      properties:
        value:
          description: 'The email address, such as `JohnBankCustomer@example.com`'
          type: string
          format: email
          minLength: 8
          maxLength: 120
          example: JohnBankCustomer@example.com
        type:
          description: The kind of email address.
          allOf:
            - $ref: '#/components/schemas/emailType'
        _id:
          description: >-
            An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha3
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this email address. `pending` email addresses require financial institution approval. Only `approved` numbers may be set as
            the preferred email address.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    simpleOrganization:
      title: Simple Organization
      description: The simplest form of an organization.
      example:
        name: Smith's Auto Detailing
        label: Smith's Detailing
        emailAddresses:
          - type: work
            value: smitties-detailing@example.com
        identification:
          - type: taxId
            value: 00-9999999
        phones:
          - type: work
            number: (555) 555-5555
          - type: mobile
            number: (999) 555-5555
        addresses:
          - type: work
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        establishedDate: 2009-07-09T
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/simpleOrganization/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - properties:
            - name
            - label
            - type
            - subtype
            - identification
            - addresses
            - phones
            - emailAddresses
            - preferredEmailAddressId
            - preferredPhoneId
            - preferredMailingAddressId
            - establishedDate
      properties:
        name:
          description: The organization's official full name
          type: string
        label:
          description: The organization's common name.
          type: string
        type:
          description: |-
            Indicates what type of organization this resource represents.


            The enumeration values are described by the `organizationType`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationType'
        subtype:
          description: |-
            A refinement of the `type`.


            The enumeration values are described by the `organizationSubtype`
            value in the response of the `getLabels` operation.
          allOf:
            - $ref: '#/components/schemas/organizationSubtype'
        identification:
          description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
          type: array
          items:
            $ref: '#/components/schemas/organizationIdentification'
        addresses:
          description: An array containing address items.
          type: array
          items:
            $ref: '#/components/schemas/organizationAddress'
        phones:
          description: >-
            An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
            number.
          type: array
          items:
            $ref: '#/components/schemas/organizationPhoneNumber'
        emailAddresses:
          description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
          type: array
          items:
            $ref: '#/components/schemas/organizationEmailAddress'
        preferredEmailAddressId:
          description: |-
            The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
            This value is set with the `setPreferredEmailAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredPhoneId:
          description: >-
            The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
            the `setPreferredPhoneNumber` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        preferredMailingAddressId:
          description: >-
            The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
            `setPreferredMailingAddress` operation.
          type: string
          minLength: 1
          maxLength: 4
          readOnly: true
        establishedDate:
          description: The date the organization was established.
          type: string
          format: date
      type: object
      x-apiture-flattened: true
    organizationState:
      title: Organization State (v1.0.0)
      description: >-
        The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
        operation.


        <strong><code>organizationState</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending: The organization resource has been created but is not yet active; it is a draft and may be deleted.</td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee.</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>Active: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee.</td>
            </tr>
        <tr>
            <td><strong><code>merged</code></strong></td><td>Merged: The organization resource is has been merged into another organization and is not available for use or for activating.</td>
            </tr>
        <tr>
            <td><strong><code>removed</code></strong></td><td>Removed: The inactive organization resource is has been marked as removed.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `organizationState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - inactive
        - active
        - merged
        - removed
      x-apiture-enum: organizationState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationState/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    regulatory:
      title: Regulatory (v1.0.0)
      description: Responses to regulatory-related questions.
      type: object
      properties:
        estimatedAnnualRevenue:
          description: The range of estimated revenue in US dollars.
          allOf:
            - $ref: '#/components/schemas/estimatedAnnualRevenue'
        atmOperator:
          description: The organization operates automated teller machines (ATMs).
          type: boolean
        charity:
          description: Some of the organization's income depends on a charity.
          type: boolean
        cashesChecksMoreThan1000Usd:
          description: 'The organization cashes checks for customers in amounts greater than $1,000.'
          type: boolean
        internetGamblingIncorporated:
          description: The organization derives income from internet gambling.
          type: boolean
        marijuanaBusiness:
          description: The organization derives income from marijuana or other drugs/controlled substances.
          type: boolean
        moneyOrderMoreThan1000Usd:
          description: 'Individuals at the organization may request money orders of more than $1,000.'
          type: boolean
        thirdPartyBenefit:
          description: The organization processes transactions on behalf of third parties.
          type: boolean
        transmitBehalfOfCustomer:
          description: The organization transmits funds on behalf of third parties.
          type: boolean
        virtualCurrency:
          description: The organization administers or exchanges virtual currency.
          type: boolean
        intermediaryServices:
          description: A list of intermediary/non-bank financial institution services provided the organization performs on behalf of others.
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/intermediaryServices'
        subjectToWithholdings:
          description: 'If `true`, the organization is subject to tax withholdings.'
          type: boolean
          default: false
      additionalProperties:
        $ref: '#/components/schemas/regulatoryValue'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/regulatory/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    estimatedMonthlyAmounts:
      title: Estimated Monthly Amounts (v1.0.0)
      description: Estimated monthly amounts for banking services.
      type: object
      properties:
        percentGrossRevenue:
          title: Percent of Gross Revenue derived from Money Services
          description: |-
            The percentage of gross revenue the organization derives from money services.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `percentGrossRevenue`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          x-apiture-choice: percentGrossRevenue
        sentAch:
          description: |-
            Indicates the estimated monthly total amount to send by ACH.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentAchAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: upToOneHundredThousand
          x-apiture-choice: estimatedMonthlySentAchAmounts
        receivedAch:
          description: |-
            Indicates the estimated monthly total amount to receive by ACH.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedAchAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlyReceivedAchAmounts
        mobileCheckDeposit:
          description: |-
            Indicates the estimated monthly minimum amount to deposit.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyMobileCheckDepositAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlyMobileCheckDepositAmounts
        sentWire:
          description: |-
            Indicates the estimated monthly minimum wires amount sent.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentWireAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlySentWireAmounts
        receivedWire:
          description: |-
            Indicates the estimated monthly minimum wires amount received.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedWireAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: moreThanOneMillion
          x-apiture-choice: estimatedMonthlyReceivedWireAmounts
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedMonthlyAmounts/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    accountPurpose:
      title: Account purpose (v1.0.0)
      x-apiuture-fragment: true
      description: >-
        The purpose of the account.


        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `accountPurpose` group in the
        response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - creditCardProcessing
        - generalOperatingFunds
        - lottery
        - payroll
        - savings
        - other
        - notApplicable
      x-apiture-choice: accountPurpose
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/accountPurpose/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    individualIdentification:
      title: Individual Identification (v1.0.0)
      x-apiture-fragment: true
      description: This object contains key identification information for a person associated with digital banking.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/individualIdentification/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-composition:
        - $ref: '#/components/schemas/contactName'
        - $ref: '#/components/schemas/addresses'
        - properties:
            - taxId
            - citizen
            - emailAddress
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        taxId:
          description: >-
            Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible.
            If the `?unmasked=true` query parameter is passed, the full, unmasked tax ID is returned.
          type: string
        citizen:
          description: Indicates if the person is a (US) citizen.
          type: boolean
        emailAddress:
          description: Optional email address.
          type: string
          format: email
      type: object
      x-apiture-flattened: true
    authorizationType:
      title: Account Authorization type (v1.0.0)
      description: |-
        The type of this account access authorization.
         * *`primary`* the person is the primary owner of a personal account.
         There may be only one primary owner.
         * *`joint`* the person is a non-primary joint owner of a
         personal account.
         * *`authorizedSigner`* the person is an authorized signer
         for all business accounts owned by the organization.

        <strong><code>authorizationType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>primary</code></strong></td><td>Primary Account Holder: The primary account holder of a personal account. There may be only one primary owner.</td>
            </tr>
        <tr>
            <td><strong><code>joint</code></strong></td><td>Joint Account Holder: A non-primary joint account holder of a personal account.</td>
            </tr>
        <tr>
            <td><strong><code>authorizedSigner</code></strong></td><td>Authorized Signer: Authorized Signer of a business account.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `authorizationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-enum: authorizationType
      enum:
        - primary
        - joint
        - authorizedSigner
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorizationType/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    simpleContact:
      title: Simple Contact (v1.0.1)
      description: >-
        Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and
        government identification.
      x-apiture-version: 1.0.1
      example:
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        suffix: MD
        identification:
          - type: taxId
            value: '*****3333'
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
        preferredMailingAddressId: ha1
        emailAddresses:
          - id: pe0
            value: api@apiture.com
            type: personal
          - id: wp1
            value: support@apiture.com
            type: work
        preferredEmailAddressId: pe0
        phones:
          - _id: hp1
            type: home
            number: '+19105550155'
          - _id: mp1
            type: mobile
            number: '+19105550159'
        preferredPhoneId: hp1
        preferredContactMethod: email
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.1/model.json'
      x-apiture-namespace: contacts
      x-apiture-composition:
        - $ref: '#/components/schemas/contactName'
        - $ref: '#/components/schemas/addresses'
        - $ref: '#/components/schemas/emailAddresses'
        - $ref: '#/components/schemas/phoneNumbers'
        - $ref: '#/components/schemas/simpleContactFields'
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
        prefix:
          description: A title or honorific prefix such as Dr. or Fr.
          type: string
          maxLength: 20
        suffix:
          description: A title or honorific suffix such as PhD or DDS.
          type: string
          maxLength: 20
        preferredName:
          description: >-
            The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
            `firstName`.
          type: string
        identification:
          description: A collection of official identifying information associated with the contact.
          x-apiture-pii: true
          type: array
          items:
            $ref: '#/components/schemas/identification'
        preferredContactMethod:
          description: The contact's preferred method of communication.
          allOf:
            - $ref: '#/components/schemas/preferredContactMethod'
      type: object
      x-apiture-flattened: true
    identity:
      title: Identity (v1.0.0)
      description: Information that describes the identity.
      required:
        - taxId
        - firstName
        - lastName
        - address1
        - city
        - region
        - postalCode
        - phone
        - birthdate
      properties:
        taxId:
          description: >-
            The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last
            four digits are shown. The mask consists of one ore more `'*'` characters.
          type: string
          maxLength: 128
          minLength: 1
          example: 112-22-3333
        firstName:
          description: The identity's first name.
          type: string
          maxLength: 128
          minLength: 1
        lastName:
          description: The identity's last name.
          type: string
          maxLength: 128
          minLength: 1
        address1:
          description: Line 1 of the identity's street address.
          type: string
          maxLength: 512
          minLength: 1
        address2:
          description: Line 2 of the identity's street address.
          type: string
          maxLength: 512
          minLength: 1
        city:
          description: The identity's city.
          type: string
          maxLength: 64
          minLength: 1
        region:
          description: The identity's region.
          type: string
          maxLength: 128
          minLength: 1
        postalCode:
          description: The identity's postal code.
          type: string
          maxLength: 32
          minLength: 1
        phone:
          description: The identity's phone.
          type: string
          maxLength: 32
          minLength: 1
        birthdate:
          description: The identity's birth date in `yyyy-mm-dd` format.
          type: string
          format: date
          pattern: '^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$'
          maxLength: 10
          minLength: 10
        email:
          description: The identity's email address.
          type: string
          format: email
          maxLength: 256
        ipAddress:
          description: The identity's IP address.
          type: string
          format: ipv4
      example:
        taxId: 112-22-3333
        firstName: John
        lastName: Smith
        address1: 1741 Tiburon Dr
        city: Wilmington
        region: NC
        postalCode: '28403'
        phone: 15555555555
        birthdate: '1940-10-15'
        email: api@apiture.com
        ipAddress: 127.0.0.1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identity/v1.0.0/model.json'
      x-apiture-namespace: identity
      type: object
      x-apiture-flattened: true
    transactionType:
      title: Transaction Type (v1.0.0)
      description: |-
        A string which defines a transaction type allowed for an account.
          * *`credit`* : Credits may be posted to this account, such as transfer funds _to_ this external account.
          * *`debit`* : Debits may be posted to this account, such as transfer funds _from_ this external account.
        Labels and descriptions for the enumeration values are in the `transactionType`
        key in the response of the `getLabels` operation.

        <strong><code>transactionType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>debit</code></strong></td><td>A transaction which descreases an account's balance</td>
            </tr>
        <tr>
            <td><strong><code>credit</code></strong></td><td>A transaction which increases an accounts's balance</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `transactionType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - debit
        - credit
      x-apiture-enum: transactionType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/transactionType/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    outputs:
      title: Outputs (v1.0.0)
      description: Base model schema for identity verification operations outputs.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/outputs/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-composition:
        - $ref: '#/components/schemas/verificationToken'
      properties:
        token:
          type: string
          description: An opaque string that conveys the state of the contact's identity verification.
      type: object
      x-apiture-flattened: true
    fraudRiskReportState:
      title: Fraud Risk Report State (v1.0.0)
      type: string
      description: >+
        The state of a fraud report. `passed` indicates that the provided personally identifiable information (PII) was located and contains no risk
        factors. `passedWithRiskFactors` means that the provided PII matches an identity but contains risk factors. `failed` means that the provided
        PII does not match any identity records.


        <strong><code>fraudRiskReportState</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>passed</code></strong></td><td>Passed: Identity verification passed.</td>
            </tr>
        <tr>
            <td><strong><code>failed</code></strong></td><td>Failed: Identity verification failed.</td>
            </tr>
        <tr>
            <td><strong><code>passedWithRiskFactors</code></strong></td><td>Passed with Risk Factors: Identity verification passed with risk factors.</td>
            </tr>
        </table>

      enum:
        - passed
        - passedWithRiskFactors
        - failed
      x-apiture-enum: fraudRiskReportState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportState/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    fraudRiskCategory:
      title: Fraud-risk Category (v1.0.0)
      description: Representation of a fraud-risk category.
      properties:
        type:
          $ref: '#/components/schemas/fraudRiskCategoryType'
        description:
          description: The description of the fraud.
          type: string
        message:
          description: The original result message that was received from the identity verification provider.
          type: string
      example:
        type: personalInfoDoesNotMatch
        description: The retrieved identity does not match the provided PII.
        message: ZIP code located does not match the ZIP code submitted.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskCategory/v1.0.0/model.json'
      x-apiture-namespace: identity
      type: object
      x-apiture-flattened: true
    prodState:
      title: Product or Product Type State (v1.0.0)
      description: >-
        The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.


        The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product or
        product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.


        <strong><code>prodState</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>pending</code></strong></td><td>This product has been created in draft form but is not yet available</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>This product is active and available for use</td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>This product is temporarily not available for use</td>
            </tr>
        <tr>
            <td><strong><code>removed</code></strong></td><td>This product has been removed and is permanently not available for use</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `prodState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - active
        - inactive
        - removed
      default: pending
      x-apiture-enum: prodState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/prodState/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    summaryApprovalType:
      title: Approval Type Summary (v1.0.1)
      description: >-
        Summary representation of an approval type resource in approvals collections. This representation normally does not contain any `_embedded`
        objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
      x-apiture-version: 1.0.1
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/approvals/summaryApprovalType/v1.0.1/profile.json'
        _links:
          self:
            href: 'https://api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.0.1/model.json'
      x-apiture-namespace: approvals
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/approvalTypeFields'
        - properties:
            - _id
      properties:
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        name:
          description: The approval's name.
          type: string
        label:
          description: The approval's common name.
          type: string
        description:
          description: The approval's description.
          type: string
        domain:
          description: >-
            A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may
            define a domain, and all Approval Type instances  they define will use that domain, so that they can avoid conflicting with Approval Type
            names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of `domain` and
            `name` must be unique within the set of all approval types. It is a best practice to define `domain` with a URI or a URN.
          type: string
        disallowedStates:
          description: >-
            An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states `open`
            and `approved` are always allowed, so this enumeration set is a subset of the `approvalState` enumeration on an approval.
          type: array
          items:
            $ref: '#/components/schemas/disallowedState'
        _id:
          description: The unique identifier for this approval resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    roleFields:
      title: Role Fields
      description: Core fields of the role resource used to build other model schema.
      properties:
        name:
          description: >-
            The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
            uses in the platform.
          type: string
          maxLength: 128
          minLength: 1
          example: primaryUser
        label:
          description: 'The text label for this role, for use in human presentation. This field may be localized.'
          type: string
          maxLength: 128
          minLength: 1
          example: Primary User
        description:
          description: A fuller description of this role. This field may be localized.
          type: string
          maxLength: 4096
          minLength: 1
      example:
        name: primaryUser
        label: Primary User
        description: |-
          The primary user on the account.
          There may be only one primary user on an account.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/roleFields/v1.0.0/model.json'
      x-apiture-namespace: associations
      x-apiture-version: 1.0.0
      type: object
      x-apiture-flattened: true
    identityVerification:
      title: Identity Verification Data
      description: 'Data points on the identity verification process that tells if a user has passed, failed or expired the identity check.'
      properties:
        provider:
          title: Identity verification provider
          description: The name of the identity verification provider.
          type: string
        sessionId:
          title: Session Id
          description: The unique id for a session of the identity verification process.
          type: string
        scoredAt:
          title: Time Stamp scored at
          description: 'The date-time when the provider ran identity verification. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) time stamp.'
          type: string
          format: date-time
          example: '2019-09-13T06:11:01.375Z'
        score:
          title: Verification Score
          description: The indication if the user has passed or failed the identity verification process.
          type: string
          enum:
            - passed
            - failed
            - expired
        state:
          title: Verification State
          description: >-
            The identity verification status for this person.  This field is read-only and is derived from the results of any identity verification
            processes executed against the personally identifiable information (PII) contained in this record.
          type: string
          readOnly: true
          enum:
            - verified
            - unverified
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/identityVerification/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-version: 1.0.0
      type: object
      x-apiture-flattened: true
    identifiedContactFields:
      title: Identified Contact Fields (v1.0.0)
      description: Properties which provide additional identification of a person.
      x-apiture-fragment: true
      type: object
      properties:
        birthdate:
          description: The contact's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        citizenship:
          description: This individual's citizenship or nationality status.
          allOf:
            - $ref: '#/components/schemas/citizenship'
        residencyStatus:
          description: This individual's residency status.
          allOf:
            - $ref: '#/components/schemas/residencyStatus'
        occupation:
          description: The occupation of this individual.
          allOf:
            - $ref: '#/components/schemas/occupation'
        otherOccupation:
          description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
          type: string
          minLength: 4
          maxLength: 32
        yearsAtAddress:
          description: The number of years the person has been at their present home address.
          allOf:
            - $ref: '#/components/schemas/yearsAtAddress'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identifiedContactFields/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    accrualType:
      title: Accrual Type (v1.0.0)
      description: |-
        Indicates how interest is accrued according to the `compoundPeriod`.

        <strong><code>accrualType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>compounding</code></strong></td><td>Compounding interest</td>
            </tr>
        <tr>
            <td><strong><code>simple</code></strong></td><td>Simple interest</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `accrualType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - compounding
        - simple
      x-apiture-enum: accrualType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/accrualType/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    interestRateType:
      title: Interest Rate Type (v1.0.0)
      x-apiture-verion: 1.1.0
      x-apiture-deprecated:
        since: 0.20.0
        removeOn: 0.22.0
        replacement: '`apy` and `apr` properties in `productInterestRates`'
      description: |-
        The rate type. The rate type may not be changed once it is set at product creation. Rate types are:
          * *`apr`* - annual percentage rate
          * *`apy`* - annual percentage yield<br>**Warning**: The schema `interestRateType` was deprecated on version `v0.20.0` of the API. Use `apy` and `apr` properties in `productInterestRates` instead. `interestRateType` will be removed on version `v0.22.0` of the API.
      type: string
      enum:
        - apr
        - apy
      example: apr
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/interestRateType/v1.0.0/model.json'
      x-apiture-namespace: products
      x-apiture-flattened: true
    identification:
      title: Identification (v1.0.0)
      description: Official identifying information associated with the contact.
      type: object
      required:
        - type
        - value
      properties:
        value:
          description: >-
            The value of this form of identification, such as tax ID as a string. The caller should pass the full `value` (for example
            `"112-22-3333"`) when creating a contact or user. The input `value` may include `'-'` formatting characters. This is a _masked_ value in
            API responses, with one or more leading `'*'` characters and only the last four characters unmasked, such as `"*****3333"`.
          type: string
          x-apiture-pii: true
        type:
          description: The type of this form of identification.
          type: string
          allOf:
            - $ref: '#/components/schemas/identificationType'
          enum:
            - taxId
            - passportNumber
        expiration:
          description: 'The date when the form of identification expires, in [RFC 3339](https://tools.ietf.org/html/rfc3339) `YYYY-MM-DD` format.'
          type: string
          format: date
      example:
        type: taxId
        value: 112-22-3333
        expiration: '2024-12-01'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identification/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    preferredContactMethod:
      title: Preferred Contact Method (v1.0.0)
      description: |-
        The contact's preferred method of communication.

        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `preferredContactMethod`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - sms
        - email
        - other
        - notApplicable
      x-apiture-choice: preferredContactMethod
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/preferredContactMethod/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    organizationType:
      title: Organization Type (v1.0.0)
      description: |-
        The primary organization type.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `organizationType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: organizationType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationType/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    organizationSubtype:
      title: Organization Subtype (v1.0.0)
      description: |-
        A refinement of the organization type.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `organizationSubtype`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: organizationSubtype
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationSubtype/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    organizationIdentification:
      title: Organization Identification
      description: The type and value of the organizations unique identification numbers.
      type: object
      required:
        - type
        - value
      properties:
        value:
          description: 'The value of this form of identification (the tax ID as a string, for example)'
          type: string
        type:
          description: The type of this form of identification. `taxId` is the only supported type at this time.
          allOf:
            - $ref: '#/components/schemas/organizationIdentificationType'
        expiresOn:
          description: The date when this form of identification expires.
          type: string
          format: date
        expiration:
          description: The date when this form of identification expires. **Note** This property is deprecated; use `expiresOn`.
          type: string
          format: date
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentification/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    organizationAddress:
      title: Organization Address (v1.0.0)
      description: >
        Representation of an organization's address resource.



        <h3 class='schema-links' id="organizationAddress-links" >Links</h3>


        Response and request bodies using this <strong><code>organizationAddress</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-deleteAddress'><strong><code>delete</code></strong></a></td><td>Delete this address resource</td><td><code>DELETE</code></td>

        </tr>


        <tr>

        <td><a href='#op-setPreferredAddress'><strong><code>apiture:setAsPreferred</code></strong></a></td><td>Set Preferred mailing
        Address</td><td><code>PUT</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: delete
          operationId: deleteAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredAddress
      example:
        _id: ha1
        type: home
        addressLine1: 555 N Front Street
        addressLine2: Suite 5555
        city: Wilmington
        regionCode: NC
        postalCode: 28401-5405
        countryCode: US
        state: approved
        _links:
          self:
            href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/address'
        - properties:
            - state
        - $ref: '#/components/schemas/abstractResource'
      properties:
        type:
          description: The type of this address.
          allOf:
            - $ref: '#/components/schemas/addressType'
        label:
          description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
          type: string
          readOnly: true
          minLength: 4
          maxLength: 32
        otherType:
          description: The actual address type if `type` is `other`.
          minLength: 4
          maxLength: 32
          type: string
        addressLine1:
          description: 'The first street address line of the address, normally a house number and street name.'
          type: string
          minLength: 4
          maxLength: 128
        addressLine2:
          description: The optional second street address line of the address.
          type: string
          maxLength: 128
        city:
          description: The name of the city or municipality.
          type: string
          minLength: 2
          maxLength: 128
        regionCode:
          description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        postalCode:
          description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
          type: string
          example: 28401-5405
          minLength: 5
          maxLength: 10
          pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
        countryCode:
          description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
          type: string
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        _id:
          description: >-
            An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all addresses within the `addresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this address. `pending` addresses require financial institution approval. Only `approved` addresses may be set as the
            preferred address.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    organizationPhoneNumber:
      title: Phone Number
      description: Representation of phone number resources.
      x-apiture-links:
        - rel: delete
          operationId: deletePhoneNumber
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredPhoneNumber
      example:
        _id: hp1
        _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/profile.json'
        type: home
        number: 555-555-5555
        state: approved
        _links:
          self:
            href: /organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/phoneNumber'
        - properties:
            - state
        - $ref: '#/components/schemas/abstractResource'
      properties:
        type:
          description: The type or role of this phone number.
          allOf:
            - $ref: '#/components/schemas/phoneNumberType'
        number:
          description: >-
            The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
            is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
            (up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
            Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
          type: string
          example: '+19105550155'
          minLength: 8
          maxLength: 20
        label:
          description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
          type: string
          example: assistant
          maxLength: 32
        _id:
          description: >-
            An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all phone numbers within the `phones` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this phone number. `pending` numbers require financial institution approval. Only `approved` numbers may be set as the
            preferred phone number.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    organizationEmailAddress:
      title: Email Address (v1.0.0)
      description: >
        Representation of email address resources. An email address is immutable, although organizations can add new email addresses.



        <h3 class='schema-links' id="organizationEmailAddress-links" >Links</h3>


        Response and request bodies using this <strong><code>organizationEmailAddress</code></strong> schema may contain

        the following <a href='https://developer.apiture.com/docs/concepts/links'>links</a>:


        <table>

        <tr>
          <th>Rel</th><th>Summary</th><th>Method</th>
        </tr>


        <tr>

        <td><a href='#op-deleteEmailAddress'><strong><code>delete</code></strong></a></td><td>Delete this email address
        resource</td><td><code>DELETE</code></td>

        </tr>


        <tr>

        <td><a href='#op-setPreferredEmailAddress'><strong><code>apiture:setAsPreferred</code></strong></a></td><td>Set Preferred Email
        Address</td><td><code>PUT</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: delete
          operationId: deleteEmailAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredEmailAddress
      example:
        _id: pe1
        _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.0/profile.json'
        type: personal
        number: '+19105550155'
        state: approved
        _links:
          self:
            href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
          delete:
            href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
          'apiture:setAsPreferred':
            href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/typedEmailAddress'
        - properties:
            - state
        - $ref: '#/components/schemas/abstractResource'
      properties:
        value:
          description: 'The email address, such as `JohnBankCustomer@example.com`'
          type: string
          format: email
          minLength: 8
          maxLength: 120
          example: JohnBankCustomer@example.com
        type:
          description: The kind of email address.
          allOf:
            - $ref: '#/components/schemas/emailType'
        _id:
          description: >-
            An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha3
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
        _links:
          description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
          allOf:
            - $ref: '#/components/schemas/links'
        _embedded:
          description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
          type: object
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        _error:
          description: An object which describes an error. This value is omitted if the operation succeeded without error.
          type: object
          allOf:
            - $ref: '#/components/schemas/error'
        state:
          description: >-
            The state of this email address. `pending` email addresses require financial institution approval. Only `approved` numbers may be set as
            the preferred email address.
          allOf:
            - $ref: '#/components/schemas/profileItemState'
      type: object
      x-apiture-flattened: true
    addresses:
      title: Addresses (v1.0.0)
      description: A list of postal addresses and the preferred mailing address.
      x-apiture-fragment: true
      properties:
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addresses/v1.0.0/model.json'
      x-apiture-namespace: contacts
      type: object
      x-apiture-flattened: true
    emailAddresses:
      title: Email Addresses (v1.0.0)
      description: A list of email addresses and the preferred email address.
      x-apiture-fragment: true
      properties:
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        emailAddresses:
          - id: pe0
            value: api@apiture.com
            type: personal
          - id: wp1
            value: support@apiture.com
            type: work
        preferredEmailAddressId: pe0
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailAddresses/v1.0.0/model.json'
      x-apiture-namespace: contacts
      type: object
      x-apiture-flattened: true
    phoneNumbers:
      title: Phone Numbers (v1.0.1)
      description: A list of phone numbers and the preferred phone number.
      x-apiture-fragment: true
      x-apiture-version: 1.0.1
      properties:
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        phones:
          - _id: hp1
            type: home
            number: '+19105550155'
          - _id: mp1
            type: mobile
            number: '+19105550159'
        preferredPhoneId: hp1
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumbers/v1.0.1/model.json'
      x-apiture-namespace: contacts
      type: object
      x-apiture-flattened: true
    estimatedAnnualRevenue:
      title: Estimated Annual Revenue (v1.0.0)
      x-apiuture-fragment: true
      description: >-
        The estimated annual revenue in USD.


        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `estimatedAnnualRevenue` group in
        the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - under1Million
        - from1to10Million
        - from10to100Million
        - over100Million
        - other
        - notApplicable
      x-apiture-choice: estimatedAnnualRevenue
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedAnnualRevenue/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    intermediaryServices:
      title: Intermediary Services (v1.0.0)
      x-apiuture-fragment: true
      description: >-
        The intermediary/non-bank financial institution services provided.


        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `intermediaryServices` group in the
        response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - accounting
        - fundsManagement
        - insurance
        - investment
        - legal
        - medical
        - notary
        - realEstate
        - taxPreparation
        - trustManagement
        - gambling
        - securities
        - loanFinance
        - pawnBrokerage
        - travelAgency
        - vehicleSales
        - foreignCurrency
        - preciousMetals
        - other
        - notApplicable
      x-apiture-choice: intermediaryServices
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/intermediaryServices/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    regulatoryValue:
      title: Regulatory Value (v1.0.0)
      description: The value associated with this regulatory property.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/regulatoryValue/v1.0.0/model.json'
      x-apiture-namespace: organizations
      type: object
      properties: {}
      x-apiture-flattened: true
    phoneNumber:
      title: Phone Number (v1.0.1)
      description: A phone number and its role.
      type: object
      x-apiture-version: 1.0.1
      required:
        - type
        - number
      properties:
        type:
          description: The type or role of this phone number.
          allOf:
            - $ref: '#/components/schemas/phoneNumberType'
        number:
          description: >-
            The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
            is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
            (up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
            Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
          type: string
          example: '+19105550155'
          minLength: 8
          maxLength: 20
        label:
          description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
          type: string
          example: assistant
          maxLength: 32
        _id:
          description: >-
            An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all phone numbers within the `phones` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
      example:
        _id: hp1
        type: home
        number: '+19105550155'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.1/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    profileItemState:
      title: Organization Profile Item State (v1.0.0)
      description: >-
        The state of an item (address, email address, or phone number) within the organization's profile. New addresses, email addresses, or phone
        numbers start with the state `pending`, which means approval by the financial institution is pending. After they have been verified, the state
        becomes `approved`. Some normalizing or sanitizing of the value may occur when this happens (for example, a ZIP code may change to ZIP+4
        format). `pending` items may not be assigned as the preferred item.


        <strong><code>profileItemState</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>pending</code></strong></td><td>Pending: A profile item that the financial institution has not yet approved.</td>
            </tr>
        <tr>
            <td><strong><code>approved</code></strong></td><td>Approved: A profile item that the financial institution has approved.</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `profileItemState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - approved
      example: approved
      x-apiture-enum: profileItemState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/profileItemState/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    approvalFields:
      title: Approval Fields (v1.0.0)
      description: 'Common fields of the approval resource, used to define other model schemas.'
      properties:
        label:
          description: 'The approval''s common name.  If omitted on create request, this will default to the label of the Approval Type.'
          type: string
        description:
          description: 'The approval''s description.  If omitted on create request, this will default to the description of the Approval Type.'
          type: string
        state:
          description: >-
            The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
            operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
            corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
            by the approval type.
          allOf:
            - $ref: '#/components/schemas/approvalState'
          readOnly: true
        done:
          description: >-
            If `done` is true, the approval is in a terminal state and may no longer be acted upon.  Done states include `canceled`, `approved`,
            `waived` or `rejected`. This property is derived from the `state` field and is immutable.
          type: boolean
          readOnly: true
        typeName:
          description: The name of the Approval Type.  This field is immutable and derived from the name of the Approval Type.
          type: string
        reviewedBy:
          description: The id of the User that reviewed the approval.
          type: string
          readOnly: true
        reviewedAt:
          description: The date-time when the approval was reviewed.
          type: string
          format: date-time
          readOnly: true
      example:
        state: active
        done: true
        label: Government Issued ID
        typeName: governmentId
        description: A document that identifies a user
        reviewedBy: /users/users/0399abed-fd3d-4830-a88b-30f38b8a365c
        reviewedAt: '2018-04-17T10:12:58.375Z'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalFields/v1.0.0/model.json'
      x-apiture-namespace: approvals
      type: object
      x-apiture-flattened: true
    fraudRiskCategoryType:
      title: Fraud Risk Category Type (v1.0.0)
      description: |+
        Represents the possible types of fraud-risk.

        <strong><code>fraudRiskCategoryType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>ipRestricted</code></strong></td><td>IP Restricted: The user's IP address is restricted.</td>
            </tr>
        <tr>
            <td><strong><code>identityOnGovernmentWatchlist</code></strong></td><td>On Government Watch list: The identity is on a government watch list.</td>
            </tr>
        <tr>
            <td><strong><code>identityOnAlertList</code></strong></td><td>On Alert List: The identity is on an alert list.</td>
            </tr>
        <tr>
            <td><strong><code>addressIsPOBoxOrNonApproved</code></strong></td><td>Address is PO Box or non-approved</td>
            </tr>
        <tr>
            <td><strong><code>addressIsHighRisk</code></strong></td><td>Address is high risk</td>
            </tr>
        <tr>
            <td><strong><code>ageRestricted</code></strong></td><td>Age Restricted: The person's age is restricted</td>
            </tr>
        <tr>
            <td><strong><code>nonStandardTaxId</code></strong></td><td>Non-standard Tax ID</td>
            </tr>
        <tr>
            <td><strong><code>personalInfoDoesNotMatch</code></strong></td><td>Personal information does not match</td>
            </tr>
        <tr>
            <td><strong><code>emailRestricted</code></strong></td><td>Email Restricted: The person's email address is restricted.</td>
            </tr>
        </table>

      type: string
      enum:
        - ipRestricted
        - identityOnGovernmentWatchlist
        - identityOnAlertList
        - addressIsPOBoxOrNonApproved
        - addressIsHighRisk
        - ageRestricted
        - nonStandardTaxId
        - personalInfoDoesNotMatch
        - emailRestricted
      x-apiture-enum: fraudRiskCategoryType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskCategoryType/v1.0.0/model.json'
      x-apiture-namespace: identity
      x-apiture-flattened: true
    verificationToken:
      title: Verification Token (v1.0.0)
      description: The token used to validate and track a contact for identity verification purposes.
      properties:
        token:
          type: string
          description: An opaque string that conveys the state of the contact's identity verification.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/verificationToken/v1.0.0/model.json'
      x-apiture-namespace: identity
      type: object
      x-apiture-flattened: true
    identificationModel:
      title: Identification Model (v1.0.0)
      description: A collection of official identifying information associated with an entity.
      type: array
      items:
        type: object
        required:
          - type
          - value
        properties:
          value:
            description: 'The value of this form of identification (the tax ID as a string, for example)'
            type: string
          type:
            description: >-
              The type of this form of identification. For a person, `taxId` is their federal tax ID (such as social security number).  For a
              business, `taxId` is the  [_Federal Employer Identification
              Number_](https://www.irs.gov/businesses/small-businesses-self-employed/employer-id-numbers) or FEIN (also known as _Tax Identification
              Number_ or TIN), and `dunsNumber` is the business' [_Dun & Bradstreet Number_](https://fedgov.dnb.com/webform).
            type: string
            enum:
              - taxId
              - dunsNumber
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/identificationModel/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      x-apiture-flattened: true
    authorizedSigner:
      title: Authorized Signer (v1.0.0)
      description: 'Authorized Signers are primary bank users and co-owners of a business, optionally passed when creating verification reports.'
      required:
        - firstName
        - lastName
      properties:
        firstName:
          description: The authorized signer's first name
          type: string
          maxLength: 512
          minLength: 1
        lastName:
          description: The authorized signer's last name
          type: string
          maxLength: 512
          minLength: 1
        identification:
          $ref: '#/components/schemas/identificationModel'
        birthdate:
          description: The authorized signer's birth date in `yyyy-mm-dd` format.
          type: string
          format: date
          pattern: '^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$'
          maxLength: 10
          minLength: 10
        email:
          description: The authorized signer's email address
          type: string
          maxLength: 512
          minLength: 1
      example:
        firstName: Jane
        lastName: Doe
        identification:
          - type: taxId
            value: 121-34-5431
        birthdat>: '1980-12-01'
        email: email@email.com
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/authorizedSigner/v1.0.0/model.json'
      x-apiture-namespace: businessVerifications
      type: object
      x-apiture-flattened: true
    address:
      title: Address (v1.0.0)
      description: A postal address.
      type: object
      required:
        - type
      properties:
        type:
          description: The type of this address.
          allOf:
            - $ref: '#/components/schemas/addressType'
        label:
          description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
          type: string
          readOnly: true
          minLength: 4
          maxLength: 32
        otherType:
          description: The actual address type if `type` is `other`.
          minLength: 4
          maxLength: 32
          type: string
        addressLine1:
          description: 'The first street address line of the address, normally a house number and street name.'
          type: string
          minLength: 4
          maxLength: 128
        addressLine2:
          description: The optional second street address line of the address.
          type: string
          maxLength: 128
        city:
          description: The name of the city or municipality.
          type: string
          minLength: 2
          maxLength: 128
        regionCode:
          description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        postalCode:
          description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
          type: string
          example: 28401-5405
          minLength: 5
          maxLength: 10
          pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
        countryCode:
          description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
          type: string
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
        _id:
          description: >-
            An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all addresses within the `addresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
      example:
        _id: ha5
        type: home
        addressLine1: 555 N Front Street
        addressLine2: Suite 5555
        city: Wilmington
        regionCode: NC
        postalCode: 28401-5405
        countryCode: US
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/address/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    citizenship:
      title: Citizenship (v1.0.0)
      description: Citizenship or nationality status.
      type: array
      items:
        type: object
        required:
          - countryCode
          - state
        properties:
          countryCode:
            description: The ISO 3166-1 country code for the individual's citizenship.
            x-apiture-pii: true
            type: string
            minLength: 2
            maxLength: 2
          state:
            description: The individual's citizenship status.
            x-apiture-pii: true
            type: string
            enum:
              - citizen
              - other
      example:
        - countryCode: US
          state: citizen
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/citizenship/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    residencyStatus:
      title: Residency (v1.0.0)
      description: |-
        Residency status.


        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `residencyStatus`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: residencyStatus
      enum:
        - unknown
        - resident
        - nonresident
        - residentAlien
        - nonresidentAlien
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/residencyStatus/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    occupation:
      title: Occupation (v1.0.0)
      description: |-
        The person's occupation.


        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `occupation`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: occupation
      enum:
        - unknown
        - architectureAndEngineering
        - artsDesignEntertainmentSportsAndMedia
        - buildingAndGroundsCleaningAndMaintenance
        - businessAndFinancialOperations
        - communityAndSocialService
        - computerAndMathematical
        - constructionAndExtraction
        - educationTrainingAndLibrary
        - farmingFishingAndForestry
        - foodPreparationAndServingRelated
        - healthcarePractitionersAndTechnical
        - healthcareSupport
        - installationMaintenanceAndRepair
        - legal
        - lifePhysicalAndSciences
        - management
        - militarySpecific
        - officeAndAdministrativeSupport
        - personalCareAndService
        - production
        - protectiveServices
        - salesAndRelated
        - transportationAndMaterialMoving
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/occupation/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    yearsAtAddress:
      title: Years at Address (v1.0.0)
      description: Categories for how long the person has been at their present home address.
      type: string
      enum:
        - unknown
        - oneOrFewer
        - two
        - three
        - fourOrMore
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/yearsAtAddress/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    kycAnswers:
      title: Know Your Customer Answers (v1.0.0)
      description: Answers to 'Know Your Customer' questions which allow financial institutions to conform to a customer identification program.
      properties:
        citizen:
          description: '`true` if the person is a citizen of the country in which the financial institution is doing business.'
          type: boolean
        permanentResident:
          description: '`true` if the person is a permanent resident of the country in which the financial institution is doing business.'
          type: boolean
        w9Withholdings:
          description: '`true` if the person is a subject to backup W-9 Tax Withholdings.'
          type: boolean
        employmentStatus:
          description: The employment status of the person.
          allOf:
            - $ref: '#/components/schemas/employmentStatus'
        foreignPoliticalFigure:
          title: Foreign Senior Political Figure
          description: '`true` if the person is a foreign senior political figure.'
          type: boolean
          default: false
        countryPoliticalFigure:
          description: >-
            If the person is a foreign senior political figure, this is the foreign country. This field is omitted if `foreignPoliticalFigure` is
            `false`.
          type: string
        familyOfPoliticalFigure:
          title: Family of Political Figure
          description: '`true` if the person is an immediate family member or a close associate of political figure.'
          type: boolean
        foreignPoliticalFigureCountry:
          title: Foreign Senior Political Country
          description: >-
            If the person is a foreign senior political figure, this is the foreign country ISO 3166-1 country code. This field is omitted if
            `foreignPoliticalFigure` is `false`.
          type: string
          maxLength: 2
        foreignPoliticalFigureAssociation:
          title: Association with Foreign Senior Political Figure
          description: The type of association to a foreign political figure.
          allOf:
            - $ref: '#/components/schemas/foreignPoliticalFigureAssociation'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/kycAnswers/v1.0.0/model.json'
      x-apiture-namespace: users
      type: object
      x-apiture-flattened: true
    approvalTypeFields:
      title: Approval Type Fields (v1.0.0)
      description: Common fields of the approval resource used to build other model schemas.
      properties:
        name:
          description: The approval's name.
          type: string
        label:
          description: The approval's common name.
          type: string
        description:
          description: The approval's description.
          type: string
        domain:
          description: >-
            A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may
            define a domain, and all Approval Type instances  they define will use that domain, so that they can avoid conflicting with Approval Type
            names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of `domain` and
            `name` must be unique within the set of all approval types. It is a best practice to define `domain` with a URI or a URN.
          type: string
        disallowedStates:
          description: >-
            An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states `open`
            and `approved` are always allowed, so this enumeration set is a subset of the `approvalState` enumeration on an approval.
          type: array
          items:
            $ref: '#/components/schemas/disallowedState'
      example:
        name: governmentId
        label: Government Issued ID
        description: A document that identifies a user. `governmentId` approvals may not be waived or canceled.
        disallowedStates:
          - waived
          - canceled
        domain: 'https://production.api.apiture.com/domains/approvals/documentRequirement'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalTypeFields/v1.0.0/model.json'
      x-apiture-namespace: approvals
      type: object
      x-apiture-flattened: true
    typedEmailAddress:
      title: Email Address (v1.0.0)
      description: An email address and the email address type.
      properties:
        value:
          description: 'The email address, such as `JohnBankCustomer@example.com`'
          type: string
          format: email
          minLength: 8
          maxLength: 120
          example: JohnBankCustomer@example.com
        type:
          description: The kind of email address.
          allOf:
            - $ref: '#/components/schemas/emailType'
        _id:
          description: >-
            An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha3
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/typedEmailAddress/v1.0.0/model.json'
      x-apiture-namespace: contacts
      type: object
      x-apiture-flattened: true
    identificationType:
      title: Identification Type (v1.0.0)
      description: |-
        The type of this form of identification.

        <strong><code>identificationType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>taxId</code></strong></td><td>Tax ID: The government tax ID, such as a Social Security Number</td>
            </tr>
        <tr>
            <td><strong><code>passportNumber</code></strong></td><td>Passport Number</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `identificationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-enum: identificationType
      enum:
        - taxId
        - passportNumber
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identificationType/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    organizationIdentificationType:
      title: Organization Identification Type (v1.0.0)
      description: |-
        The type of the form of an organization's identification. `taxId` is the only supported type at this time.

        <strong><code>organizationIdentificationType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>taxId</code></strong></td><td>Tax Identification Number: The company's federal Tax Identification Number. This is also known as the Employer Identification Number or EIN in the US. It may be the owner's SSN for a sole proprietorship.</td>
            </tr>
        <tr>
            <td><strong><code>dunsNumber</code></strong></td><td>Dun & Bradstreet D-U-N-S Number: Dun & Bradstreet D-U-N-S Number, a unique nine-digit identifier for businesses.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `organizationIdentificationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - taxId
        - dunsNumber
      x-apiture-enum: organizationIdentificationType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentificationType/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    phoneNumberType:
      title: Phone Number Type (v1.0.0)
      description: |-
        The type or role of this phone number.

        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `phoneNumberType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: phoneNumberType
      enum:
        - unknown
        - home
        - work
        - mobile
        - fax
        - other
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumberType/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    addressType:
      title: Address Type (v1.0.0)
      description: |-
        The type of a postal address.

        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `addressType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: addressType
      enum:
        - unknown
        - home
        - prior
        - work
        - school
        - mailing
        - vacation
        - shipping
        - billing
        - headquarters
        - commercial
        - site
        - property
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addressType/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    approvalState:
      title: Approval State (v1.0.0)
      description: |+
        The state of this approval.

        <strong><code>approvalState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>open</code></strong></td><td>Open: An approval that has been created but not submitted for review.</td>
            </tr>
        <tr>
            <td><strong><code>submitted</code></strong></td><td>Submitted: An approval that has been submitted for review but not yet reviewed.</td>
            </tr>
        <tr>
            <td><strong><code>approved</code></strong></td><td>Approved: An approval which has been approved by the financial institution.</td>
            </tr>
        <tr>
            <td><strong><code>rejected</code></strong></td><td>Rejected: An approval which has been rejected by the financial institution.</td>
            </tr>
        <tr>
            <td><strong><code>waived</code></strong></td><td>Waived: An approval which has been waived by the financial institution.</td>
            </tr>
        <tr>
            <td><strong><code>returned</code></strong></td><td>Returned: An approval which has been returned by the financial institution. The user should update the data that is the target of the review.</td>
            </tr>
        <tr>
            <td><strong><code>canceled</code></strong></td><td>Canceled: An approval which has been canceled by the user or the financial institution.</td>
            </tr>
        </table>

      type: string
      x-apiture-enum: approvalState
      enum:
        - open
        - submitted
        - approved
        - rejected
        - waived
        - returned
        - canceled
      default: open
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalState/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-flattened: true
    emailType:
      title: Email Type (v1.0.0)
      description: |-
        The kind of email address.


        **Warning**: The `enum` list will be removed in a future release.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `emailType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: emailType
      enum:
        - unknown
        - personal
        - work
        - school
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailType/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    employmentStatus:
      title: Employment Status (v1.0.0)
      x-apiture-version: 1.0.0
      description: |-
        The employment status of the user.

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `employmentStatus`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: employmentStatus
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/employmentStatus/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-flattened: true
    foreignPoliticalFigureAssociation:
      title: foreign Political Figure Association (v1.0.0)
      description: >-
        The type of association to a foreign political figure. This enumeration is described by the foreignPoliticalFigureAssociation value from the
        `getLabels` operation.


        <strong><code>foreignPoliticalFigureAssociation</code></strong> strings may have one of the following

        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):


        <table>

        <tr>
          <th>Value</th><th>Description</th>
        </tr>


        <tr>
            <td><strong><code>unknown</code></strong></td><td>Unknown: The association status of this individual is unknown.</td>
            </tr>
        <tr>
            <td><strong><code>closeAssociate</code></strong></td><td>Close Associate: This individual is a close associate of a foreign political figure.</td>
            </tr>
        <tr>
            <td><strong><code>familyMember</code></strong></td><td>Family Member: This individual is a family member of a foreign political figure.</td>
            </tr>
        <tr>
            <td><strong><code>none</code></strong></td><td>None: This individual has no association to a foreign political figure.</td>
            </tr>
        <tr>
            <td><strong><code>other</code></strong></td><td>Other</td>
            </tr>
        <tr>
            <td><strong><code>notApplicable</code></strong></td><td>Not Applicable</td>
            </tr>
        </table>



        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)

        named `foreignPoliticalFigureAssociation` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - closeAssociate
        - familyMember
        - none
        - other
        - notApplicable
      x-apiture-enum: foreignPoliticalFigureAssociation
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/foreignPoliticalFigureAssociation/v1.0.0/model.json'
      x-apiture-namespace: users
      x-apiture-flattened: true
    disallowedState:
      title: Disallowed State (v1.0.0)
      description: |+
        A disallowed state for an approval. Approvals of this type may not be set to any of the states defined by this.

        <strong><code>disallowedState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>returned</code></strong></td><td>Returned: The `returned` state is not allowed for approvals of this type.</td>
            </tr>
        <tr>
            <td><strong><code>rejected</code></strong></td><td>Waived: The `rejected` state is not allowed for approvals of this type.</td>
            </tr>
        <tr>
            <td><strong><code>waived</code></strong></td><td>Waived: The `waived` state is not allowed for approvals of this type.</td>
            </tr>
        <tr>
            <td><strong><code>canceled</code></strong></td><td>Canceled: The `canceled` state is not allowed for approvals of this type.</td>
            </tr>
        </table>

      type: string
      x-apiture-enum: disallowedState
      enum:
        - rejected
        - waived
        - returned
        - canceled
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/disallowedState/v1.0.0/model.json'
      x-apiture-namespace: approvals
      x-apiture-flattened: true
  responses:
    '304':
      description: Not Modified. The resource has not been modified since it was last fetched.
    '400':
      description: >-
        Bad Request. The request body or one or more of the query parameters was not well formed.  The `_error` field in the response will contain
        details about the request error.
      x-apiture-errors:
        - emptyRequestBody
        - malformedApplicationUri
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    '412':
      description: >-
        Precondition Failed. The supplied `if-Match` header value does not match the most recent `ETag` response header value. The resource has
        changed in the interim.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    '422':
      description: >-
        Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The `_error` field in the response will
        contain details about the request error.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400ExpireApplication:
      description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
      x-apiture-errors:
        - applicationRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409ExpireApplicationConflict:
      description: >-
        Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
        request error.
      x-apiture-errors:
        - invalidApplicationState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400RejectApplication:
      description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
      x-apiture-errors:
        - applicationRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409RejectApplicationConflict:
      description: >-
        Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
        request error.
      x-apiture-errors:
        - invalidApplicationState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400ApproveApplication:
      description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
      x-apiture-errors:
        - applicationRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409ApproveApplicationConflict:
      description: >-
        Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
        request error.
      x-apiture-errors:
        - invalidApplicationState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400CancelEnrollment:
      description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
      x-apiture-errors:
        - enrollmentRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409CancelEnrollmentConflict:
      description: >-
        Conflict. The request to cancel the enrollment is not allowed. The `_error` field in the response will contain details about the request
        error.
    400RejectEnrollment:
      description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
      x-apiture-errors:
        - enrollmentRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409RejectEnrollmentConflict:
      description: >-
        Conflict. The request to reject the enrollment is not allowed. The `_error` field in the response will contain details about the request
        error.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400ApproveEnrollment:
      description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
      x-apiture-errors:
        - enrollmentRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409ApproveEnrollmentConflict:
      description: >-
        Conflict. The request to approve the enrollment is not allowed. The `_error` field in the response will contain details about the request
        error.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400CancelApplication:
      description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
      x-apiture-errors:
        - applicationRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409CancelApplicationConflict:
      description: >-
        Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
        request error.
      x-apiture-errors:
        - invalidApplicationState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400StartApplication:
      description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
      x-apiture-errors:
        - applicationRefNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409StartApplicationConflict:
      description: >-
        Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
        request error.
      x-apiture-errors:
        - invalidApplicationState
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404Application:
      description: >-
        Not Found. There is no such application resource at the specified `{applicationId}`. The `_error` field in the response will contain details
        about the request error.
      x-apiture-errors:
        - applicationNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404Enrollment:
      description: >-
        Not Found. There is no such enrollment resource at the specified `{enrollmentId}`. The `_error` field in the response will contain details
        about the request error.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    204Deleted:
      description: No Content. The resource was deleted successfully.
    404ConfigurationGroup:
      description: >-
        Not Found. There is no such configuration group resource at the specified `{groupName}` The `_error` field in the response will contain
        details about the request error.
      x-apiture-errors:
        - invalidGroupName
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404ConfigurationGroupOrValue:
      description: >-
        Not Found. There is either no such configuration group resource at the specified `{groupName}` or no such value at the specified
        `{valueName}`. The `_error` field in the response will contain details about the request error.
      x-apiture-errors:
        - invalidValueName
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400unverifiedApplications:
      description: Bad Request. Unable to create new Application for user with an existing Application in process or under review.
      x-apiture-errors:
        - unverifiedApplications
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
  parameters:
    applicationQueryParam:
      name: application
      required: true
      in: query
      description: >-
        A string which uniquely identifies an application which is to added to the running applications resource set. This may be the unique
        applicationId or the  URI of the application.
      schema:
        type: string
    applicationIdPathParam:
      name: applicationId
      description: The unique identifier of this application. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    enrollmentIdPathParam:
      name: enrollmentId
      description: The unique identifier of this enrollment. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    enrollmentQueryParam:
      name: enrollment
      required: true
      in: query
      description: >-
        A string which uniquely identifies an enrollment which is to added to the running enrollments resource set. This may be the unique
        enrollmentId or the URI of the enrollment.
      schema:
        type: string
    filterQueryParam:
      name: filter
      in: query
      description: 'Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).'
      schema:
        type: string
    qQueryParam:
      name: q
      in: query
      description: 'Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).'
      schema:
        type: string
    stateQueryParam:
      name: state
      in: query
      description: >-
        Subset the applications collection to those whose `state` matches this value. Use `|` to separate multiple values. For example,
        `?state=pending` matches only items whose `state` is `pending`; `?state=running|canceled` matches items whose `state` is `running` or
        `canceled`. This is combined with an implicit `and` with other filters if they are used. See
        [filtering](https://developer.apiture.com/docs/concepts/filtering).
      schema:
        type: string
        enum:
          - pending
          - running
          - blocked
          - canceled
          - expired
          - rejected
          - approved
    nameQueryParam:
      name: name
      in: query
      description: >-
        Subset the applications collection to those with this name value. Use `|` to separate multiple values. For example, `?name=Bartell` will match
        only items whose name is Bartell; `?name=Bartell|kirsten` will match items whose name is Bartell or kirsten. This is combined with an implicit
        and with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
      schema:
        type: string
    ifMatchHeaderParam:
      name: If-Match
      description: The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
      in: header
      required: true
      schema:
        type: string
    ifNoneMatchHeaderParam:
      name: If-None-Match
      description: >-
        The entity tag that was returned in the `ETag` response. If the resource's current entity tag matches, the `GET` will return 304 (Not
        Modified) and no response body, else the resource representation will be returned.
      in: header
      schema:
        type: string
    configurationGroupNamePathParam:
      name: groupName
      description: The unique name of this configuration group.
      in: path
      required: true
      schema:
        type: string
    configurationGroupValueNamePathParam:
      name: valueName
      description: >-
        The unique name of a value in a configuration group. This is the name of the value in the `schema`. A `{valueName}` must be a simple
        identifier following the pattern _`letter [letter | digit | '-' | '_']*`_
      in: path
      required: true
      schema:
        type: string
  requestBodies:
    application:
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/application'
        application/json:
          schema:
            $ref: '#/components/schemas/application'
      required: true
    enrollment:
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/enrollment'
        application/json:
          schema:
            $ref: '#/components/schemas/enrollment'
      required: true
  securitySchemes:
    apiKey:
      type: apiKey
      name: API-Key
      in: header
      description: >-
        API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the
        `API-Key: {api-key}` request header.
    accessToken:
      type: oauth2
      description: >-
        OAuth2 client access token authentication. The client authenticates against the server at `authorizationUrl`, passing the client's private
        `clientId` (and optional `clientSecret`) as part of this flow. The client obtains an access token from the server at `tokenUrl`. It then
        passes the received access token via the `Authorization: Bearer {access-token}` header in subsequent API calls. The authorization process also
        returns a refresh token which the client should use to renew the access token before it expires.
      flows:
        authorizationCode:
          authorizationUrl: /auth/oauth2/authorize
          tokenUrl: /auth/oauth2/token
          scopes:
            banking/read: Read access to accounts and account-related resources such as transfers and transactions.
            banking/write: Write (update) access to accounts and account-related resources such as transfers and transactions.
            banking/delete: Delete access to editable accounts and account-related resources such as transfers.
            banking/readBalance: >-
              Read access to account balances. This must be granted in addition to the `banking/read` scope in order to view balances, but is included
              in the `banking/full` scope.
            banking/full: Full access to accounts and account-related resources such as transfers and transactions.
            profiles/read: Read access to user and contact related resources.
            profiles/write: Write (update) access to user and contact related resources.
            profiles/delete: Delete access to user and contact related resources.
            profiles/readPii: >-
              Read access to personally identifiable information such as tax ID numbers, phone numbers, email and postal addresses. This must be
              granted in addition to the `profiles/read` scope in order to read such data, but is included in the `profiles/full` scope.
            profiles/full: Full access to user and contact related resources.
            data/read: 'Read access to non-account, non-profile data.'
            data/write: 'Write (update) access to non-account, non-profile data.'
            data/delete: 'Delete access to non-account, non-profile data.'
            data/full: 'Full access to non-account, non-profile data.'
            admin/read: Read access to system configuration.
            admin/write: Write (update) access to system configuration.
            admin/delete: Delete access to system configuration.
            admin/full: Full access to system configuration.
